Symfony
Installer plusieurs versions de symfony sur votre machine
0Une petite explication qui vous permettra d’installer plusieurs versions de symfony sur le même ordinateur. Ce tutorial est basé sur des commandes terminal. Si vous utilisez windows, je vous conseille d’utiliser TortoiseSVN.
Premièrement, nous allons construire notre réservoir symfony. Pour cet exemple, nous allons stocker les fichiers dans la structure /www
cd /www mkdir -p svn/symfony cd svn/symfony mkdir 1.0 1.1 1.2
Après la création de la structure, nous allons décharger les diverses versions de symfony:
cd 1.0 svn co http://svn.symfony-project.com/branches/1.0 . cd ../1.1 svn co http://svn.symfony-project.com/branches/1.1 . cd ../1.2 svn co http://svn.symfony-project.com/branches/1.2 .
Vous êtes maintenant prêt à initialiser des projets.
Initialiser un projet en version 1.0
cd /www/virtualhosts mkdir projet1.0 cd projet1.0 /www/svn/symfony/1.0/data/bin/symfony init-project monprojet10
Initialiser un projet en version 1.1
cd /www/virtualhosts mkdir projet1.1 cd projet1.1 /www/svn/symfony/1.1/data/bin/symfony generate:project monprojet11
Initialiser un projet en version 1.2
cd /www/virtualhosts mkdir projet1.2 cd projet1.2 /www/svn/symfony/1.2/data/bin/symfony generate:project monprojet12
Il vous suffit ensuite d’utiliser la commande symfony dans le root de votre projet.
Exemple de commande pour générer une nouvelle application (version 1.1 et 1.2)
./symfony generate:app frontend
Voilà. J’espère que les explications ci-dessous vous permettrons de développer vos projets selon la version de symfony que vous avez choisi.
Assignation du langage dans la balise html
0De base, symfony ne fourni pas une fonction de récupération du langage de l’interface utilisateur mais seulement la culture. Dans le layout par défaut, vous trouvez cette balise:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
Sur un site multilingue, cette information est très importante pour les robots de recherche. Elle permet de classer son contenu selon la langue affichée. Dans mon cas, j’utilise fr_CH comme culture par défaut et comme j’aimerai garder uniquement les deux premiers caractères, j’ai inséré une fonction dans la classe myUser.class.php se trouvant dans le dossier lib de l’application:
class myUser extends sfBasicSecurityUser
{
...
public function getLanguage()
{
$result = explode('_', $this->getCulture());
return $result[0];
}
...
}
Ensuite, il suffit de personnaliser la balise html avec la fonction ci-dessus:
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="<?php echo $sf_user->getLanguage(); ?>"
lang="<?php echo $sf_user->getLanguage(); ?>">
J’espère que cette petite astuce vous servira…