2016-06-30 32 views
11

Ho appena iniziato a lavorare con symfony2 e ho un enorme blocco stradale che non riesco a capire. Ho creato una nuova classe chiamata AppKernel per registrare i miei pacchetti, ecc.come posso correggere i file generati dalla cache di symfony

class AppKernel extends Kernel 
{ 

public function registerBundles() 
{ 
    $bundles=[ 
     new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(), 
     new Symfony\Bundle\FrameworkBundle\FrameworkBundle(), 
     new Symfony\Bundle\MonologBundle\MonologBundle(), 
     new Symfony\Bundle\SecurityBundle\SecurityBundle(), 
     new mdBundle\mdBundle(), 
]; 
    return $bundles; 
} 

public function registerContainerConfiguration(LoaderInterface $loader) 
{ 
    $loader->load(function ($container) { 
     $container->loadFromExtension('framework', array(
      'secret' => 'some secret here', 
      'router' => array(
       'resource' => '%kernel.root_dir%/config/routing.yml' 
      ), 
      'templating' => array('engines' => array('php')) 
     )); 
    }); 
} 

} 

mio front controller si presenta così:

include_once(__DIR__ . '/../../app/bootstrap.php'); 

/** 
* @var Composer\Autoload\ClassLoader $loader 
*/ 
$loader = require '../../app/vendor/autoload.php'; 

Debug::enable(); 

$kernel = new AppKernel('dev', true); 
//$kernel->loadClassCache(); 
$request = Request::createFromGlobals(); 
$response = $kernel->handle($request); 
$response->send(); 
$kernel->terminate($request, $response); 

Il msg di errore che ottengo è il seguente: Errore Tipo: Argomento 4 passato a Symfony \ Component \ HttpKernel \ HttpKernel :: __ construct () deve implementare l'interfaccia Symfony \ Component \ HttpKernel \ Controller \ ArgumentResolverInterface, dato booleano, chiamato in /var/www/html/app/classes/cache/dev/classesDevDebugProjectContainer.php sulla riga 367 Non sono sicuro di come questo file viene creato con il valore sbagliato (il valore è falso "booleano") per l'argomento 4

Ecco il mio file compositore.json.

"require": { 
     "php": ">=7.0", 
     "symfony/console":"v3.0.0", 
     "mobiledetect/mobiledetectlib": "2.5.7", 
     "zendframework/zend-db": "2.2.5", 
     "symfony/dependency-injection": "v3.0.0", 
     "symfony/config": "v3.0.0", 
     "symfony/yaml": "v2.3.5", 
     "phpmailer/phpmailer" : "v5.2.9", 
     "smarty/smarty" : "3.1.12", 
     "knplabs/knp-snappy": "*", 
     "twbs/bootstrap": "3.3.6", 
     "phpoffice/phpexcel": "*", 
     "moredirect/service": "dev-master", 
     "symfony/var-dumper": "2.*", 
     "gongo/merciful-polluter": "^0.0.3", 
     "solarium/solarium": "^3.5", 
     "symfony/framework-bundle": "v3.0.0", 
     "symfony/form": "3.0.0", 
     "doctrine/doctrine-bundle": "1.6.2", 
     "symfony/monolog-bundle": "2.10.0", 
     "symfony/security-bundle": "3.0.0", 
     "symfony/finder": "3.0.0", 
     "symfony/filesystem": "3.0.0", 
     "symfony/web-profiler-bundle": "3.0.0", 
     "sensio/framework-extra-bundle": "v3.0.0", 
     "sensio/distribution-bundle": "3.0.0" 
    } 

Qualsiasi aiuto è molto apprezzato. grazie.

+0

'php bin/console cache: clear' – Farkie

+0

L'ho provato e rimuoverà i file solo una volta che viene generato di nuovo, l'errore si ripresenta. – user1960170

+3

Non sono sicuro del perché il tuo AppKernel.php appaia completamente diverso da quello incluso nella versione standard. – Splendonia

risposta

7

Risulta mi mancava la seguente riga nel file composer.json:

"symfony/http-kernel":"3.0.0" 

Dopo ho aggiunto si sta lavorando bene. grazie per tutti i commenti

Problemi correlati