Dev Blog – Le retour de Symfony

Symfony, php, Ruby et Ror…

Après avoir bataillé avec Ruby et son framework Web Ruby on rails (ici et là), j’ai finalement du renoncer à cette technologie.

Pour rappel il m’était impossible d’avoir une version suffisamment récente d’Xcode, et cela empêchait certains aspect de RoR de fonctionner… des trucs bien bloquants comme la pagination, ou le hashage des mots de passes des utilisateurs. Des choses assez anecdotiques en soi… qui a besoin de sécuriser des mots de passe, franchement?

Mon projet me tenant à cœur, je ne voulais pas l’abandonner à cause de ces soucis techniques, et j’ai donc décidé de retourner vers php et son framework Symfony.

Symfony et moi… on était pas copains.

J’avais déjà un peu touché la bête et son approche de l’architecture MVC m’avait complètement perdue.
C’est donc avec pas mal d’appréhensions que j’ai retrouvé un tuto et relancé un projet de test…

Alors première constatation: mon petit passage par Ruby m’a ÉNORMÉMENT aidée à comprendre la logique de Symfony.

C’est quelque part un peu logique quand on sait que ce framework est directement inspiré de RoR.

Ensuite, j’ai eu pas mal de galères liées à mon OS (pour changer, on aime Snow Leopard…).

Je vais donc lister ici les soucis rencontrés et leurs résolutions trouvées.

 

Erreur symfony:

[blockquote] An exception has been thrown during the rendering of a template (« Warning: SessionHandler::read(): open [/blockquote]

 

Solution:

Il faut ajouter ou modifier deux lignes au fichier app/config/config.yml:


 

Symfony ressort une erreur de type Timezone.

La solution se passe dans le fichier appkernel:  Il faut ajouter la public function __construct avant la public function registerBundles

 


Le gestionnaire de dépendances Composer m’a également donné du fil à retordre.

Lorsque je tentais de lancer un update via le terminal

$ php composer.phar update

J’obtenais une erreur:

[blockquote] [Symfony\Component\Process\Exception\RuntimeException] The process has been signaled with signal « 11 ». [/blockquote]

Cette erreur était simplement provoquée par un mauvais chmod sur mon dossier (droits de lecture/écriture). En repassant en chmod 777, ça a levé l’erreur et permis à composer de tourner normalement.

Ceci dit si cette erreur était finalement très simple, elle m’a pris pas mal de temps pour trouver la solution. Et m’a ainsi permis de trouver quelques étrangetés dans mon installation.

Mac possède son propre serveur Apache + version de php embarqué et c’est celui là qui est utilisé par défaut dans le terminal. Ainsi, j’avais beau modifier le php.ini de mon Xampp, ça ne changeait rien vu que ce n’était pas cette version prise en considération.

-> pour stopper le serveur Apache, la commande terminal est: $sudo  apachectl -k stop

-> il faut ensuite définir le chemin (PATH) de la version de php de Xampp pour que le terminal puisse l’utiliser. Pour ce faire, il faut modifier (ou créer) le fichier .bash_profil à la racine du disque principal.

 

-> Composer a également besoin de git pour pouvoir fonctionner. Pour installer une version de git compatible avec des vieux OS (comme le mien), on peut se référer à ce lien.

Je remercie la communauté d’OpenClassroom qui m’a aidée à fixer tout ça. 🙂

Sur ce, j’ai un tuto sur Doctrine et les bases de données à attaquer !

0
Catégories : Dev Blog.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *