我有一個[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(不確定)。一個有用的命名空間對於您的應用程序來說是非常有意義的。 –