Пакет не использует пространство имен или многое другое Композитор автозагрузка может обеспечить волшебно для вас, так что вы можете либо включить файл класса сами:
include "vendor/FineUploader/php-traditional-server/handler.php";
или как вы используете Composer автозагрузчика в Laravel, вы должны определить classmap.
В вашем композитору JSON:
{
"autoload": {
"classmap": ["vendor/FineUploader/php-traditional-server"]
}
}
Затем запустите composer dump-autoload
(в том числе "поставщик/autoload.php" уже предусмотрено ботинке Laravel).
Все классы в своей библиотеке будут автоматически загружены в тот момент, когда ваш код требует их.
Обновление: почему классная карта является наиболее подходящим способом.
Автозагрузка - это самый эффективный и эффективный способ загрузки класса, поскольку он только разобран, скомпилирован, загружен в память, когда класс действительно необходим. Автозагрузка «Classmap» - это предполагаемый механизм загрузки классов, которые не находятся в пространстве имен или не находятся в формате PSR0 или 4.
С другой стороны, с помощью глобальной (загрузки приложения) включают в себя набор классов, или аналогичным образом, используя опцию «файлы» в композиторе автозагрузчика будет наиболее эффективен, поскольку он будет загружен все зависимости для все приложение запрашивает, независимо от того, будут ли они использоваться или нет. Фактически использование автозагрузочных «файлов» для зависимостей классов хуже, чем традиционный подход, включающий в себя каждый из ваших скриптов. По крайней мере, тогда вы только предварительно загрузите конкретные требования, таким образом, как и автозагрузка в использовании памяти.
Опция автозагрузки файлов «файлы» предназначена для плоских библиотек функций (а не OO), которые просто предварительно загружаются во все запросы, потому что для вызовов функций нет механизма автоматической загрузки.
Обратите внимание, что использование кэшей op-code будет смягчать разницу в эффективности между ними, но проблема с использованием памяти остается.
Когда я вызываю '$ u = new UploadHandler();' Он показывает 'класс 'MyApp \ Http \ Controllers \ UploadHandler' not found' – hienbt88
@ hienbt88 Добавьте обратную косую черту перед' UploadHandler'. Например: '$ u = new \ UploadHandler();' –
спасибо, он сработал – hienbt88