background preloader

Symfony2

Facebook Twitter

How to Inject Values Based on Complex Expressions (current) The service container also supports an "expression" that allows you to inject very specific values into a service.

How to Inject Values Based on Complex Expressions (current)

For example, suppose you have a third service (not shown here), called mailer_configuration, which has a getMailerMethod() method on it, which will return a string like sendmail based on some configuration. Remember that the first argument to the my_mailer service is the simple string sendmail: But instead of hardcoding this, how could we get this value from the getMailerMethod() of the new mailer_configuration service? One way is to use an expression: To learn more about the expression language syntax, see The Expression Syntax. In this context, you have access to 2 functions: How to Create a Custom Authentication System with Guard (current) Easier Authentication with Guard in Symfony 3. The Symfony2 security system is a complex part of the framework, one that is difficult to understand and work with for many people.

Easier Authentication with Guard in Symfony 3

It is very powerful and flexible, however not the most straightforward. For an example of custom authentication, check out my previous article that integrates Symfony with the UserApp service. Guard: Creating a Simple Authentication System for Symfony. Interakting : intégrateur expert Symfony – développement web agile. Nous le savons, la sécurité dans Symfony2 est l’une des briques les plus difficiles à appréhender pour de nombreux développeurs.

Interakting : intégrateur expert Symfony – développement web agile

Mais c’est aussi un des composants les plus extensibles et flexibles du framework. L’une de ses utilisations les plus fréquentes est la mise en place d’un système d’authentification par le biais de la méthode « form_login ». Ce système est parfait si l’on doit mettre en place une authentification assez classique et souvent couplée à l’utilisation d’une base de données où sont stockés les utilisateurs. En revanche, cela devient plus compliqué si l’on veut personnaliser le processus d’authentification : chargement des données utilisateurs, comportement en cas d’échec ou de succès de l’authentification… En effet, mettre en place une méthode d’authentification ayant une logique spécifique demande la création d’au moins 4 classes dédiées : Symfony tips and tricks.

Symfony2 en pièces détachées. Jour 23 - Sensibilisation au DDD. 10 Commentaires Sommaire Préambule La puissance et l'utilité de Symfony ne sont plus à démontrer, c'est devenu un framework reconnu dans le monde professionnel.

Jour 23 - Sensibilisation au DDD

Il nous permet ainsi de répondre à beaucoup de problématiques techniques plus ou moins facilement, mais de manière assez élégante en général. Revers de la médaille, on passe souvent plus de temps à écrire des lignes propres au framework. Creating a custom monolog logger and formatter in symfony. Le Cache HTTP — Documentation du Framework Symfony2 documentation.

L’essence d’une application web riche est d’être dynamique.

Le Cache HTTP — Documentation du Framework Symfony2 documentation

Peu importe l’efficacité de votre application, le traitement d’une requête sera toujours plus important que l’envoi d’une page statique. Pour la plupart des applications web, cela ne pose pas de problème. Symfony2 est d’une rapidité foudroyante, et à moins que vous ne fassiez de sérieux remaniements, chaque requête sera traitée rapidement sans trop « stresser » votre serveur.

Mais si la fréquentation de votre site augmente, ce traitement peut devenir un problème. Jour 19 - Bien penser ses commandes Symfony2. 5 Commentaires Qu'est-ce qu'une commande ?

Jour 19 - Bien penser ses commandes Symfony2

On entend par commande un mot qui décrit de manière mnémonique un nom de tâche, qu'il est possible de faire suivre par des paramètres. Notez bien les mots en gras et gardez-les bien à l'esprit, autant que ce qu'ils impliquent (on va y revenir). Mais qui Commande ? Et par quel Moyen ? Ok, remettons-nous dans le contexte au lieu de philosopher. Question moyens, du côté de Symfony c'est noël avant l'heure, car depuis la version 2.3 le composant Console a bénéficié de nombreuses améliorations.

Ecrire une commande console pour Symfony2. Aujourd’hui, nous allons voir comment créer nos propres commandes console pour Symfony2.

Ecrire une commande console pour Symfony2

Si vous utilisez déjà ce framework, vous en avez probablement déjà utilisé quelques unes. S’il vous est arrivé de lancer une console et d’y taper par exemple ou bien alors vous avez utilisé le système de commandes console de Symfony2. Ces commandes sont très utiles, et permettent de simplifier pas mal de choses. Dans cet exemple donc, nous allons automatiser la création d’un contrôlleur très simple, qui va dépendre de 3 paramètres :

Symfony 2 : Configuration des logs Monolog. Symfony 2 utilise Monolog pour gérer les logs.

Symfony 2 : Configuration des logs Monolog

Les logs vous permettent de garder une trace de ce qui se passe sur votre application. Souvent ils se révèlent une source très précieuse d'informations lorsqu'un utilisateur soulève un bug ou un comportement anormal. De plus, avec Symfony, vous pouvez mettre en place des mécanismes simples pour déclencher des actions en fonction du niveau d'alerte des logs, par exemple pour recevoir un mail lorsqu'un problème survient. N'hésitez pas à logger le plus d'informations possible, Symfony vous permet de gérer simplement la rotation des fichiers de log pour ne pas perdre indéfiniment en espace disque. Niveaux de logs Comme beaucoup de systèmes de log, Monolog utilise plusieurs niveaux. Implémenter RabbitMQ dans une API Symfony 2. Depuis Matrix, vous avez toujours rêvé de « suivre le lapin blanc ».

Implémenter RabbitMQ dans une API Symfony 2

Jour 21 - RabbitMQ et Symfony2 : comment faire des traitements asynchrones et gérer les queues. 5 Commentaires On reproche souvent à PHP d'être un langage trop limité, notamment en ce qui concerne les traitements lourds et l'asynchronisme.

Jour 21 - RabbitMQ et Symfony2 : comment faire des traitements asynchrones et gérer les queues

Quand on a, par exemple, besoin de dérouler des actions sur un ensemble de 10 000 éléments, ça devient effectivement compliqué, et ça prend énormément de ressources serveur... sauf quand on utilise un gestionnaire de file d'attente. Je vais donc vous présenter aujourd'hui un système de messagerie qui implémente le protocole AMPQ : RabbitMQ, et son bundle Symfony2 RabbitMQBundle, développé par Alvaro Videla.

Un système de messagerie ? Après avoir utilisé différentes API de différentes manières, un protocole de messagerie a été créé par la banque JPMorgan Chase pour plus de facilité d'échange entre les différents systèmes. Producteurs, consommateurs... de quoi ? Quelques explications en images. How to Create a Custom Param Converter in Symfony2? PHP-framework Symfony2 has a very nice component ParamConverter, which allows to convert parameters from URL into PHP variables. When the functionality that comes out of box isn’t enough, you should extend it manually.

Unpacking Symfony2: What are compiler passes. Symfony tips and tricks. The PHP Coding Standards Fixer for PSR-1 and PSR-2. IDCI-Consulting « Créer un bundle symfony2 réutilisable et le diffuser via composer. Introduction Avec l’arrivée de composer, vous pouvez rendre vos bundle Symfony2 (et pas seulement) facilement disponible et réutilisable. Composer est un gestionnaire de paquets PHP inspiré par npm et Bundler.

Il requiert la version 5.3.2 de PHP ou supérieur pour fonctionner. Il est multiplatforme et fonctionne parfaitement sur Windows, Linux et OSX. Comment créer un bundle Symfony2 réutilisable et le diffuser via composer. Tutoriel créé par Sekou, consultant PHP/ Symfony2 chez Trepia Les étapes à suivre: IntroductionCréation du dépôt de votre bundleLe contenu du fichier composer.jsonEnvoie des fichiers vers gitHubEnregistrement du bundle sur PackagistConfiguration de la mise à jour du bundle. Étendre Symfony, les bonnes pratiques. Les bonnes pratiques.

Doctrine

Caillarec & Coste: Symfony2 : introduire une logique personnalisé durant le login. Dans ce court tutoriel, on va aborder la personnalisation des opérations effectuées pendant un login. Situation On cherche à effectuer des actions pendant le login, qui impliquent par exemple l’utilisation du mot de passe en clair à des fins de chiffrement, ou bloquer le login pendant une plage horaire,… En principe, la solution du simple_form serait optimale.

(cf cookbook: Malheureusement, l’implémentation de l’article du cookbook génère un blocage au niveau de la page Login, problème décrit dans les threads suivants de forums: Caillarec & Coste: Behat 3 et son extension symfony 2. Introduction La version 3 de Behat est maintenant dans les bacs! Je présente son installation et réalise un premier test sur un bundle symfony2. Même si la logique de Behat 3 reste identique aux versions antérieures, il y’a quelques changements concernant d’installation. La documentation officielle n’est pas encore à jour. Cependant, vous pouvez trouver des informations d’utilisation très utiles dans le répertoire behat/symfony2-extension/doc/index.rst du répertoire de vos vendor (après installation de l’extension). [Video] REST dans le monde Symfony. Create new log file/channel for a Symfony Service with Monolog.

In this article about WSSE and Rest, we describe how to create a new log file/channel with monolog in Symfony2 Insert the logger in your service with a new Channel In this example, our service is the wsse listener.

Symfony Live 2015

NgAdminGeneratorBundle: Create a JavaScript Admin Panel and a REST API for Symfony2 Apps in Minutes. We are all, at marmelab, keen on rapid prototyping and iterative enhancement. Thus, we have been working on many developers tools like ng-admin, an Angular.js-powered admin GUI for RESTful APIs, to help us deliver value to our customers faster. Many of our projects are Symfony2 based, with an model layer powered by the Doctrine ORM. We missed a tool to generate ng-admin configuration based on these entities and a few conventions. SYMFONY2 - FAIRE DU TRI DANS SES LOGS. Design patterns. Certification. Symfony 2 – L’injection de dépendances. Avertissement : Depuis la rédaction de cet article sur l’injection de dépendances, le coeur de Symfony2 a évolué de façon notable, en particulier certaines classes du répertoire DependencyInjectionmentionnées dans cet article ont été renommées, révisées, ou refondues.

Toutefois, les principes généraux décrits dans cet article restent d’actualité.Le 21 décembre 2010 Cet article est le premier d’une série à venir sur Symfony 2. Pour commencer, je vous invite à télécharger la sandbox de Symfony 2. J’ai décidé de commencer par l’injection de dépendances car il s’agit d’un composant clé de Symfony 2, et que la bonne compréhension de cette nouvelle version du Framework doit forcément en passer par là.

L’injection de dépendance est réellement au coeur du Framework. Form composition in symfony2. Symfony2 API.

Doctrine

Webservices. Astuce. Performance. Bundles. Aide mémoire. Symfony 2. Frameworks. Doctrine2 ORM. Symfony. Intégration. Tutos.