Joro Development le blog techniqueLe blog technique

Joro DevelopmentIci on cause Symfony2, Zend Framework et technologies web.Joro Development

L’installation de Capifony (solution pour le déploiement d’applications Symfony, adapté de Capistrano (Ruby)) est potentiellement très rapide. En quelques commandes et avec quelques lignes dans un fichier de configuration, tout devrait fonctionner. Mais ça n’a pas été le cas pour nous.

Nous avons suivi le tutoriel proposé par l’équipe de Capifony, qui va droit au but. Nous nous sommes également appuyé sur d’autres tutoriels, tels que celui de MiLk. Ce sont de bons tutoriels, il serait inutile pour nous d’en écrire un autre.

Nous allons simplement exposer les quelques problèmes que nous avons rencontrés au cours de son installation, et les solutions à ces problèmes.

Lire l'article.

Capifony permet de gérer de manière automatique le déploiement de son site web sur ses différents serveurs. Basé sur Capistrano, développé pour le framework Ruby, Capifony est destiné aux sites développés avec le framework Symfony (versions 1 et 2).

La pô compris

Si cette introduction vous laisse perplexe, vous êtes sur le bon article

Pour bien saisir son intérêt, il convient de…

Comprendre ce qu’est le développement d’un site internet

Lire l'article.

Il est parfois nécessaire d’accéder à l’entité liée à un formulaire. Pour cela il suffit d’utiliser la syntaxe suivante :

{{ form.get('value').attribut }}

Pour accéder aux entités d’un sous-formulaire (si le formulaire représente une collection), on procède de la même façon :

{% for objet in form.collection %}
        {{ objet.get('value').attribut }}
{% endif %}

Pour toute question, n’hésitez pas à poster un commentaire.

Lire l'article.

Une fonctionnalité courante dans la plupart des sites actuels est la connexion automatique de l’utilisateur suite à son inscription. La documentation de Symfony2 n’étant pas très claire à ce sujet, voici la manière de procéder :


namespace Joro\MainBundle\Controller; 

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Security\Core\SecurityContext;
use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken; 

class RegisterController extends Controller
{
        public function registerAction()
        {
              [...]
              // Création d'un nouveau token basé sur l'utilisateur qui vient de s'inscrire
              $token = new UsernamePasswordToken($user, null, 'main', $user->getRoles());
              // On passe le token créé au service security context afin que l'utilisateur soit authentifié
              $this->get('security.context')->setToken($token);
        }
}
Lire l'article.

Si vous n’avez jamais travaillé avec Symfony1, vous risquez d’être surpris de l’utilisation de la console que fait ce framework. En effet, dans Symfony2, une grande partie du code peut être généré via la console. Le but de ce billet est de regrouper en un même endroit toutes les instructions utiles et de détailler leur fonctionnement.

Les commandes liées à Symfony2

Créer un nouveau bundle :

php app/console generate:bundle ––namespace=Toto/LalaBundle

Cette commande va créer un nouveau bundle nommé Lala dans le namespace Toto. Une fois la commande lancée, le générateur vous proposera un certain nombre d’options dans la génération (type de fichier de configuration – Annotations, YAML, XML – génération des attributs de la classe …).

Copier les fichiers des dossiers public de chaque bundle dans le dossier web :

app/console assets:install web

Lire l'article.