У меня есть следующее определение класса автозагрузки в [root]/composer.json
файле:Класса не найдено, композитор и Zend Framework 1 автозагрузчик вопрос
{
...
"autoload": {
"psr-0": {
"": [
"application/models",
"application/controllers",
"application/forms",
"library/"
]
},
"psr-4": {
"": ["src/"]
},
"classmap": [
"app/AppKernel.php",
"app/AppCache.php"
]
},
...
}
Когда я называю страницу [root]/public_html/index.php
я получил следующее сообщение об ошибке:
PHP Fatal error: Uncaught Error: Class 'classes\DependencyInjection' not found in /var/www/html/application/bootstrap.php:29
Что в [root]/public_html/index.php
является следующий код:
$bootstrap = true;
require_once '../application/bootstrap.php';
И что в [root]/application/bootstrap.php
файле:
// turn on autoloading for classes
// composer autoloader
include(MMIPATH.'/vendor/autoload.php');
// zend autoload
require_once 'Zend/Loader/Autoloader.php';
Zend_Loader_Autoloader::getInstance();
$diContainer = new classes\DependencyInjection(services.yaml');
$proxy = $diContainer->get('containerProxy');
Это определение [root]/library/classes/DependencyInjection.php
:
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
USE Symfony\Component\DependencyInjection\Container;
class DependencyInjection extends ContainerBuilder
{
....
}
Что здесь не так? Почему автозагрузчик не может найти этот класс?
Кроме того ... не использовать ZF1, если вы не абсолютно необходимо к. Это полностью устаревшее/окончание срока службы/больше не поддерживается. –
можете ли вы добавить несколько примеров? обоих решений? – ReynierPM
добавлено - альтернатива на самом деле не является решением, возможно, даже не работает с PSR-0 (не уверен). Полезное пространство имен - это то, что на самом деле имеет смысл использовать для вашего приложения. –