2017-08-11 17 views
-1

私は、ブラウザでのプロジェクト昼食時に私はこのエラーを持っているsymfonyの2に新しいバンドルを生成する場合:「 名前空間からクラス「TagBundle」をロードしようとしました:AppKernel.phpライン19で新しいバンドルを生成

ClassNotFoundExceptionがテスト\ TagBundle " "test \ TagBundle \ TagBundle"の "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 Doctrine\Bundle\DoctrineBundle\DoctrineBundle(), 
       new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(), 
       new AppBundle\AppBundle(), 
       new test\TagBundle\TagBundle(), 
      ); 

      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": "root/tagproject", 
     "license": "proprietary", 
     "type": "project", 
     "autoload": { 
      "psr-4": { 
       "AppBundle\\": "src/AppBundle" 
      }, 
      "classmap": [ 
       "app/AppKernel.php", 
       "app/AppCache.php" 
      ] 
     }, 
     "autoload-dev": { 
      "files": [ 
       "vendor/symfony/symfony/src/Symfony/Component/VarDumper/Resources/functions/dump.php" 
      ] 
     }, 
     "require": { 
      "php": ">=5.3.9", 
      "doctrine/doctrine-bundle": "~1.4", 
      "doctrine/orm": "^2.4.8", 
      "incenteev/composer-parameter-handler": "~2.0", 
      "sensio/distribution-bundle": "~4.0", 
      "sensio/framework-extra-bundle": "^3.0.2", 
      "symfony/monolog-bundle": "^3.0.2", 
      "symfony/swiftmailer-bundle": "~2.3,>=2.3.10", 
      "symfony/symfony": "2.8.*", 
      "twig/twig": "^1.0||^2.0" 
     }, 
     "require-dev": { 
      "sensio/generator-bundle": "~3.0", 
      "symfony/phpunit-bridge": "~2.7" 
     }, 
     "scripts": { 
      "symfony-scripts": [ 
       "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-install-cmd": [ 
       "@symfony-scripts" 
      ], 
      "post-update-cmd": [ 
       "@symfony-scripts" 
      ] 
     }, 
     "config": { 
      "bin-dir": "bin", 
      "sort-packages": true 
     }, 
     "extra": { 
      "symfony-app-dir": "app", 
      "symfony-web-dir": "web", 
      "symfony-assets-install": "relative", 
      "incenteev-parameters": { 
       "file": "app/config/parameters.yml" 
      }, 
      "branch-alias": null 
     } 
    } 

と端末のUbuntuに私はこのメッセージを持っている:

コマンドを設定することができませんでしたすべて自動的に。
以下の変更を手動で行う必要があります。

  • 編集composer.jsonファイルと、 "自動ロード" セクションにバンドル 名前空間登録:
+0

バンドル作成後の[Symfony3 ClassNotFoundException]の重複の可能性があります(https://stackoverflow.com/questions/44946911/symfony3-classnotfoundexception-after-bundle-creation) –

答えて

0

をこのようなあなたのcomposer.jsonファイルを更新し....と "NewBundle" を交換してくださいあなたのバンドルの名前。

"autoload": { 
    "psr-4": { 
     "AppBundle\\": "src/AppBundle", 
     "NewBundle\\": "src/NewBundle" 
    }, 
    "classmap": [ "app/AppKernel.php", "app/AppCache.php" ] 
}, 

composer dumpautoload 

これで、サーバーを起動できるようになりました。

+0

お母さんありがとうございます。今すぐ新しいバンドルプロジェクトを生成するとき – devit2017

関連する問題