我有一个[root]/composer.json
文件下面的类自动加载定义:类没有找到,作曲家和Zend框架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(不确定)。一个有用的命名空间对于您的应用程序来说是非常有意义的。 –