Composer: Поддержка автозагрузки функций и констант

Созданный на 7 мар. 2017  ·  3Комментарии  ·  Источник: composer/composer

У меня есть этот пакет композитора https://github.com/PabloJoan/slack-delete

Я не использую никаких классов для написания кода. Только функции. Я организую свой код, помещая 1 функцию в 1 файл, организуя эти файлы в папки, а затем именуя их. В основном следуя всему в PSR-4, за исключением того, что вместо класса с пространством имен это функция с пространством имен.

в композиторе нет функции автозагрузки для поддержки этого.

Мне пришлось прибегнуть к использованию «файлов», чтобы заставить это работать https://getcomposer.org/doc/04-schema.md#files .
Проблема в том, что мне приходится вручную добавлять все эти файлы, и это может занять очень много времени.

Смотри ниже.
Мои composer.json :

{
    "autoload": {
        "files": [
            "src/APIURL.php",
            "src/Cli/getToken.php",
            "src/Cli/getUser.php",
            "src/Delete/all.php",
            "src/Delete/channels.php",
            "src/Delete/files.php",
            "src/Delete/groups.php",
            "src/Delete/history.php",
            "src/Delete/ims.php",
            "src/User/get.php"
        ]
    }
}

Как бы вы посоветовали мне справиться с этим лучше?

Самый полезный комментарий

PHP сам по себе не предлагает автозагрузку функций/констант, поэтому до тех пор, пока это не будет сделано, мы не сможем это поддерживать. Обертывание в классы определенно проще, хотя кажется немного глупым/излишним, что язык заставляет нас делать это.

Все 3 Комментарий

Из чистого любопытства, зачем вам это? Переход в классы поможет вам сохранить рассудок по мере расширения проекта.

Возможно, ты прав. Это эксперимент. в конечном итоге я хотел бы увидеть, как реализовать функциональное программирование на PHP и беспрепятственно стать частью сообщества php с помощью composer. Я знаю, что пример проекта, который у меня есть, сейчас не очень «функционален», но композитор, поддерживающий автозагружаемые функции с пространствами имен, будет огромным шагом вперед.

Он следует тем же общим правилам пространства имен, что и PSR4 для классов, поэтому он не мешает существующим кодовым базам.

PHP сам по себе не предлагает автозагрузку функций/констант, поэтому до тех пор, пока это не будет сделано, мы не сможем это поддерживать. Обертывание в классы определенно проще, хотя кажется немного глупым/излишним, что язык заставляет нас делать это.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги