嗨,当我试图加载我的symfony 2应用程序时,出现了这个问题,
AppKernel.php第25行中的ClassNotFoundException:试图从命名空间"Sonata''DoctrineORMAdminBundle"加载类"SonataDoctrineORMAdminBundle"。您是否忘记了另一个命名空间的"use"语句?
这是我的AppKernel.php文件,
<?php
use Symfony'Component'HttpKernel'Kernel;
use Symfony'Component'Config'Loader'LoaderInterface;
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
new Symfony'Bundle'FrameworkBundle'FrameworkBundle(),
new Symfony'Bundle'SecurityBundle'SecurityBundle(),
new Symfony'Bundle'TwigBundle'TwigBundle(),
new Symfony'Bundle'MonologBundle'MonologBundle(),
new Symfony'Bundle'SwiftmailerBundle'SwiftmailerBundle(),
new Symfony'Bundle'AsseticBundle'AsseticBundle(),
new Doctrine'Bundle'DoctrineBundle'DoctrineBundle(),
new Sensio'Bundle'FrameworkExtraBundle'SensioFrameworkExtraBundle(),
new AppBundle'AppBundle(),
new kcc'AdminBundle'kccAdminBundle(),
new JMS'SerializerBundle'JMSSerializerBundle(),
new Sonata'CoreBundle'SonataCoreBundle(),
new Sonata'BlockBundle'SonataBlockBundle(),
new Knp'Bundle'MenuBundle'KnpMenuBundle(),
new Sonata'DoctrineORMAdminBundle'SonataDoctrineORMAdminBundle(),
new Sonata'AdminBundle'SonataAdminBundle(),
);
if (in_array($this->getEnvironment(), array('dev', 'test'), true)) {
$bundles[] = new Symfony'Bundle'DebugBundle'DebugBundle();
$bundles[] = new Symfony'Bundle'WebProfilerBundle'WebProfilerBundle();
$bundles[] = new Sensio'Bundle'DistributionBundle'SensioDistributionBundle();
$bundles[] = new Sensio'Bundle'GeneratorBundle'SensioGeneratorBundle();
}
return $bundles;
}
public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load($this->getRootDir().'/config/config_'.$this->getEnvironment().'.yml');
}
}
这个composer.json文件,
{
"name": "symfony/framework-standard-edition",
"license": "MIT",
"type": "project",
"description": "The '"Symfony Standard Edition'" distribution",
"autoload": {
"psr-4": {
"": "src/",
"Sonata''DoctrineORMAdminBundle''": ""
}
},
"require": {
"php": ">=5.3.9",
"symfony/symfony": "2.7.*",
"doctrine/orm": "^2.4.8",
"doctrine/doctrine-bundle": "~1.4",
"symfony/assetic-bundle": "~2.3",
"symfony/swiftmailer-bundle": "~2.3",
"symfony/monolog-bundle": "~2.4",
"sensio/distribution-bundle": "~4.0",
"sensio/framework-extra-bundle": "^3.0.2",
"incenteev/composer-parameter-handler": "~2.0",
"jms/serializer-bundle": "*",
"weaverryan/derp-dangerzone": "dev-master",
"vimuths123/menucreator": "dev-master",
"sonata-project/admin-bundle": "^3.0",
"sonata-project/doctrine-orm-admin-bundle": "^3.0",
"sensio/generator-bundle": "2.3.*",
"sonata-project/user-bundle": "^2.2",
"friendsofsymfony/rest-bundle": "^1.7",
"nelmio/api-doc-bundle": "^2.12",
"sonata-project/core-bundle": "^3.0"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7"
},
"scripts": {
"post-install-cmd": [
"Incenteev''ParameterHandler''ScriptHandler::buildParameters",
"Sensio''Bundle''DistributionBundle''Composer''ScriptHandler::buildBootstrap",
"Sensio''Bundle''DistributionBundle''Composer''ScriptHandler::clearCache",
"Sensio''Bundle''DistributionBundle''Composer''ScriptHandler::installAssets",
"Sensio''Bundle''DistributionBundle''Composer''ScriptHandler::installRequirementsFile",
"Sensio''Bundle''DistributionBundle''Composer''ScriptHandler::prepareDeploymentTarget"
],
"post-update-cmd": [
"Incenteev''ParameterHandler''ScriptHandler::buildParameters",
"Sensio''Bundle''DistributionBundle''Composer''ScriptHandler::buildBootstrap",
"Sensio''Bundle''DistributionBundle''Composer''ScriptHandler::clearCache",
"Sensio''Bundle''DistributionBundle''Composer''ScriptHandler::installAssets",
"Sensio''Bundle''DistributionBundle''Composer''ScriptHandler::installRequirementsFile",
"Sensio''Bundle''DistributionBundle''Composer''ScriptHandler::prepareDeploymentTarget"
]
},
"config": {
"bin-dir": "bin",
"platform": {
"php": "5.3.9"
}
},
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"symfony-assets-install": "relative",
"incenteev-parameters": {
"file": "app/config/parameters.yml"
},
"branch-alias": {
"dev-master": "2.7-dev"
}
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/vimuths123/menucreator"
}
]
}
我也尝试更新composer,但由于这个问题,它也无法更新
第一件事。您确定您的composer.json文件包含以下标记为<==的条目吗重要事项:
"require": {
"php": "^5.3 || ^7.0",
"doctrine/orm": "^2.3",
"symfony/form": "^2.3 || ^3.0",
"symfony/security": "^2.3 || ^3.0",
"symfony/console": "^2.3 || ^3.0",
"symfony/doctrine-bridge": "^2.2 || ^3.0",
"symfony/framework-bundle": "^2.2 || ^3.0",
"symfony/security-acl": "^2.2 || ^3.0",
"sonata-project/exporter": "^1.3.1",
"sonata-project/admin-bundle": "^3.0", // <== IMPORTANT
"sonata-project/core-bundle": "^3.0" // <== IMPORTANT
},
"require-dev": {
"simplethings/entity-audit-bundle": "~0.1",
"symfony/phpunit-bridge": "^2.7 || ^3.0"
},
"suggest": {
"simplethings/entity-audit-bundle": "If you want to support for versioning of entities and their associations."
},
"provide": {
"sonata-project/admin-bundle-persistency-layer": "1.0.0"
},
"autoload": {
"psr-4": { "Sonata''DoctrineORMAdminBundle''": "" } // <== GOOD TO ADD
},
正如文档中所写的那样,您必须通过composer:安装SonataDoctrineORMAdminBundle
composer require sonata-project/doctrine-orm-admin-bundle
如果按照symfony页面上的说明操作,可能会有所帮助。
只需运行此命令
composer install/update