un fatal error avec FrameWork silex

Par Toogda, il y a 7 ans


Bonjour,

Voila je rencontre un petit problème avec mon code.

je fais

un blog,
j'essais de suivre le tutos https://openclassrooms.com/courses/e...rquoi-ce-cours
le code source est disponible sur https://github.com/bpesquet/OC-MicroCMS/tree/iteration-09

Ce que je veux

quel peut etre un argument de type Symfony\Bridge\Twig\Form\TwigRendererInterface.
merci pour tout eclaircessement.

Ce que j'obtiens

1/1) ContextErrorException

Catchable Fatal Error: Argument 1 passed to Symfony\Bridge\Twig\Extension\FormExtension::__construct() must be an instance of Symfony\Bridge\Twig\Form\TwigRendererInterface, instance of Symfony\Component\Form\FormRenderer given, called in C:\wamp64\www\stpoSilex\vendor\silex\silex\src\Silex\Provider\TwigServiceProvider.php on line 138 and defined

in FormExtension.php line 34
at FormExtension->__construct(object(FormRenderer))in TwigServiceProvider.php line 138
at TwigServiceProvider->Silex\Provider{closure}(object(Application))in Container.php line 118
at Container->offsetGet('twig')in routes.php line 10
at {closure}()
at call_user_func_array(object(Closure), array())in HttpKernel.php line 151
at HttpKernel->handleRaw(object(Request), 1)in HttpKernel.php line 68
at HttpKernel->handle(object(Request), 1, true)in Application.php line 496
at Application->handle(object(Request))in Application.php line 477
at Application->run()in index.php line 11

la ligne 138 du fichier
C:\wamp64\www\stpoSilex\vendor\silex\silex\src\Silex\Provider\TwigServiceProvider.php donne
$twig->addExtension(new FormExtension(class_exists(HttpKernelRuntime::class) ? null : $app['twig.form.renderer']));

14 réponses

chrisart, il y a 7 ans

Bonjour,

J'ai également le même problème, avez-vous trouvé une solution ?

Mehdikacim, il y a 7 ans

Dans le code source, il n'y a pas le vendor qui contient les dépendances ! Ma question est :
Tu as mis à jours les dépendances ? car il semble qu'il te manque twig.

{ "require": { "silex/silex": "~2.0", "doctrine/dbal": "~2.5", "twig/twig": "~1.28", // Cette dependance "symfony/twig-bridge": "~2.8|3.0.*", "symfony/asset": "~2.8|3.0.*", "symfony/security": "~2.8|3.0.*", "symfony/form": "~2.8|3.0.*", "symfony/translation": "~2.8|3.0.*", "symfony/config": "~2.8|3.0.*" }, "autoload": { "psr-4": {"MicroCMS\\": "src"} } }

Essaye d'executer cette ligne de commande dans la racine du dossier du projet.

composer update
Toogda, il y a 7 ans

Salut, merci de prêté attention à ma préoccupation.  
La dépendance "twig/twig": "~1.28" est bien présent dans le fichier composer.jason

Mehdikacim, il y a 7 ans

Oui, mais as-tu un dossier vendor ?

Mehdikacim, il y a 7 ans

Tu ne dois pas comprendre le système de composer.
C'est un outil qui gère tes dépendances: ici tu as besoin de twig, au lieu de push sur un git tout le projet tu push tout sauf le vendor qui est lourd et le composer.json va répertorier l'ensembe des dépendances que le projet a besoin. Ici twig, si tu n'as pas de dossier vendor, c'est que les dépendances ne sont pas installées.
Ainsi, tu dois te rendre dans le dossier du projet à la racine où tu as le composer.json, ouvrir un terminal à cet endroit et lancer la commande

composer update
Toogda, il y a 7 ans

J'ai également le dossier vendor .  Mon programme foncitionait jusqu'à l'iteration 8. Cette erreur est apparu à la fin de l'iteration 9.

Toogda, il y a 7 ans

J'ai également le dossier vendor . Mon programme foncitionait jusqu'à l'iteration 8. Cette erreur est apparu à la fin de l'iteration 9.

Mehdikacim, il y a 7 ans

As-tu discord ? Si oui viens : Mehdikacim#9029

Toogda, il y a 7 ans

mon . discord c'est quoi?

Mehdikacim, il y a 7 ans

As-tu teamviewer ?

Toogda, il y a 7 ans

je le telecharge de suite

Lartak, il y a 7 ans

Il y a un Discord pour le site (voir Tchat dans le footer), par contre penses quand même à venir poster la solution ici si tu la trouve.
Sinon Togda, ne marques ton sujet que quand ton problème est réellement résolu, pas comme tu l'as fait actuellement.

Toogda, il y a 7 ans

Je l'ai fait par mégarde, je cherchais même le bouton non résolu.

Mehdikacim, il y a 7 ans

Peux-tu me communiquer tes id par mail : mehdikacim@hotmail.fr et on regardera ensemble le soucis, afin de le communiquer ici.