我添加了symfony依赖注入容器(
composer require symfony/dependency-injection
):
https://symfony.com/doc/current/components/dependency_injection.html
运行:
composer dump-autoload -o
重新组织类(
/www/vendor/composer/autoload_classmap.php
通过composer安装新库后,文件为空)。
把这个放在我的
init.php
文件:
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Reference;
use MyApp\Core\App;
use MyApp\Core\Database;
use MyApp\Models\SystemUser;
use MyApp\Models\Customer;
use MyApp\Core\Log;
$container = new ContainerBuilder();
$container->autowire( Log::class );
$container->autowire( Database::class );
$container->autowire( SystemUser::class );
$container->autowire( Customer::class );
$container->autowire( App::class )
->setPublic( true );
$container->compile();
$app = $container->get( App::class );
打破
compile()
.
我错过了什么?
找不到任何线索来解决此问题。
我做错什么了?
PHP Fatal error: Uncaught Error: Class 'Symfony\Component\Config\Resource\ClassExistenceResource' not found in /www/vendor/symfony/dependency-injection/Compiler/AutowirePass.php:385
Stack trace:
thrown in /www/vendor/symfony/dependency-injection/Compiler/AutowirePass.php on line 385
作曲家JSON
{
"name": "potato/www",
"authors": [
{
"name": "potato potato",
"email": "potato@MyApp.com"
}
],
"require": {
"monolog/monolog": "^1.24",
"filp/whoops": "^2.3",
"symfony/dependency-injection": "^4.2"
},
"autoload":{
"psr-4": {
"MyApp\\": "myapp"
}
},
"require-dev": {
"squizlabs/php_codesniffer": "^3.3"
}
}