2017-09-13 111 views
0

我有一個捆綁,我創建並在另一個項目中工作。我複製src文件夾裏面的文件夾捆綁,拷貝一些segurity參數,進口內config.yml的服務資源,並添加內AppKernel.php捆綁爲Symfony3錯誤添加新捆綁

新LoginBundle \ LoginBundle()

當我做了一個$ php bin/console doctrine:schema:validate它返回該錯誤

PHP Fatal error: Uncaught Symfony\Component\Debug\Exception\ClassNotFoundException: Attempted to load class "LoginBundle" from namespace "LoginBundle". 
Did you forget a "use" statement for another namespace? in {project}\app\AppKernel.php:18 
Stack trace: 
#0 {project}\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\Kernel.php(450): AppKernel->registerBundles() 
#1 {project}\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\Kernel.php(116): Symfony\Component\HttpKernel\Kernel->initializeBundles() 
#2 {project}\vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle\Console\Application.php(69): Symfony\Component\HttpKernel\Kernel->boot() 
#3 {project}\vendor\symfony\symfony\src\Symfony\Component\Console\Application.php(125): Symfony\Bundle\FrameworkBundle\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
#4 {project}\bin\console(27): Symfo in {project}\app\AppKernel.php on line 18 

編輯

AppKernel.php內容

<?php 

use Symfony\Component\HttpKernel\Kernel; 
use Symfony\Component\Config\Loader\LoaderInterface; 

class AppKernel extends Kernel 
{ 
    public function registerBundles() 
    { 
     $bundles = [ 
      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 LoginBundle\LoginBundle(), 
      new AppBundle\AppBundle(), 
     ]; 

     if (in_array($this->getEnvironment(), ['dev', 'test'], true)) { 
      $bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle(); 
      $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle(); 
      $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle(); 

      if ('dev' === $this->getEnvironment()) { 
       $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle(); 
       $bundles[] = new Symfony\Bundle\WebServerBundle\WebServerBundle(); 
      } 
     } 

     return $bundles; 
    } 

    public function getRootDir() 
    { 
     return __DIR__; 
    } 

    public function getCacheDir() 
    { 
     return dirname(__DIR__).'/var/cache/'.$this->getEnvironment(); 
    } 

    public function getLogDir() 
    { 
     return dirname(__DIR__).'/var/logs'; 
    } 

    public function registerContainerConfiguration(LoaderInterface $loader) 
    { 
     $loader->load($this->getRootDir().'/config/config_'.$this->getEnvironment().'.yml'); 
    } 
} 

而且這裏去捆綁文件結構

bundle structure

而且這是LoginBundle.php

namespace LoginBundle; 

use Symfony\Component\HttpKernel\Bundle\Bundle; 

class LoginBundle extends Bundle 
{ 
} 
+0

快,讓我們AppKernel.php的內容。 另外,包的結構是怎樣的? –

+0

它出現在@MatkoĐipalo –

+1

重複:https://stackoverflow.com/questions/44946911/symfony3-classnotfoundexception-after-bundle-creation/44948820#44948820這裏是一個提示。只需將一部分實際的錯誤消息粘貼到瀏覽器搜索欄即可。 – Cerad

回答

0

我的解決方案再次產生aoutoloaders像

php composer.phar dump-autoload 

希望它可以幫助別人

-1

我覺得在routing.yml中您必須添加

login: 
    resource: "@LoginBundle/Controller/" 
    type:  annotation 
    prefix: /
+0

不錯的嘗試,但你能想到路由問題可能導致類沒有發現異常嗎? – Cerad

+0

沒有解決,同樣的錯誤 –