Mac4Ever Refurb Guide d'achat Apple - Des conseils sur toute la gamme Apple Débuter sur Mac
Symfony, ou comment coder plus confortablement
Actu Dossiers Forum Photos/Podcasts Petites Annonces V.I.P.
1285 connectés

Symfony, ou comment coder plus confortablement

Le 10/11/2006 à 19h20
Dossier proposé par
Symfony, ou comment coder plus confortablement
Si vous codez en PHP depuis un moment, vous connaissez probablement la version 5 du langage et sa programmation orientée objet relativement inspirée de java. Et il vous est sûrement arrivé de rencontrer ce genre de situations :

- coder deux fois de suite la même fonction
- refaire la procédure de connexion a la base de données suite à un changement de serveur
- revenir dans votre code x mois après et ne plus rien comprendre

Avec Symfony, vous allez pouvoir oublier tous ces petits soucis !

Un FrameQuoi ?


Un Framework est un environnement de travail, une structure dont on utilise l'arborescence ainsi que la librairie très riche en fonctions plus ou moins utiles. De plus, avec Symfony, et certains autres Frameworks tels Ruby on Rails ou Jelix, des applications sont là pour vous permettre de générer la base de données, les classes de la partie modèle du MVC, l'application, les modules...

En bref, un Framework comme Symfony fait une partie du boulot à votre place, mais ce n'est pas tout. Il essaye aussi de rendre votre projet facilement portable d'un environnement de déploiement à l'autre.

Pourquoi utiliser ce Framework ?


Plusieurs raisons peuvent vous motiver à utiliser ce Framework.

Tout d'abord, utiliser Symfomy rend votre code mieux organisé. Symfony utilise une architecture bien particulière, et vous vous devez de vous y conformer ! Chaque type de composant doit être placé dans un répertoire particulier, ce qui fait qu'au final votre projet est bien ordonné. Voici un aperçu de l'organisation de Symfony.

- les applications sont placées dans un répertoire « apps/ », et sont composés de contrôleurs et de composants de présentation.
- le ou les fichiers css sont dans rangés dans le répertoire « web/css »
- les fichiers javascript vont dans « web/js »
- les images, etc.

Par conséquent, si vous reveniez sur votre projet après 6 mois d'interruption, vous retrouveriez facilement vos marques. De même, un autre développeur familier du Framework serait en mesure de travailler sur votre code très rapidement.

Une autre bonne raison d'utiliser Symfony est la virtualisation de la base de données. Symfony exploite la technologie OpenSource Propel pour vous permettre de construire les classes de vos bases, avec leurs jointures, en deux requêtes. Vous pouvez ainsi accéder aux éléments de la base de données sans écrire de requête SQL. Cela vous permet de vous assurer que votre projet n'est pas dépendant d'un type de base de données particulier.

Pour accéder aux données d'une table membre via un id passé en url, vous feriez comme ceci.

//on sélectionne l'objet par sa clé primaire (Pk: Primary Key)
$membre = MembrePeer::retrieveByPk($this->getRequestParameter('id'));

//affiche le nom et le prenom
echo $membre->getPrenom() . ' ' . $membre->getNom();


De même, pour effectuer un update de la table membre, vous feriez comme ceci.

//on sélectionne l'objet que l'on veut modifier
$membre= MembrePeer::retrieveByPk($this->getRequestParameter('id'));

//on met a jour le nom
$membre->setNom('Dupont');

//de même avec le prénom
$membre->setPrenom('Dupont');


Symfony utilise les fameux "getters/setters", chers aux programmeurs Java.

On remarquera que pour récupérer des valeurs provenant de formulaires, on utilise la méthode

$value = $this->getRequestParameter('le_nom_du_champ');


Et ce, quelque soit la méthode utilisée dans le formulaire (GET ou POST).

Sinon, un autre avantage de Symfony est la génération des fichiers CRUD (Create, read, update, delete). Continuons avec notre exemple de table membre. Grâce à la ligne de commande suivante :

symfony propel-generate-crud frontend membre Membre


Symfony va vous générer les fichiers :

- actions/actions.class.php
- templates/createSuccess.php
- templates/editSuccess.php
- templates/listSuccess.php
- templates/showSuccess.php

En vous rendant à l'adresse adresse_de_votre_projet/membre/, vous verrez se lister les champs de la table membre, ainsi que des liens pour éditer, créer et afficher les enregistrements.

Enfin, dernier atout de ce Framework : la simplification des URL. Avec Symfony, les URLs ressemblent à « Mon_projet/membre/create », plutôt qu'à « index.php?pg=mb&action=create ». L'url rewriting est géré en natif, et paramétrable via un fichier de configuration. Il est même possible d'utiliser un suffixe comme .html pour un meilleur référencement. De plus, vous n'avez pas à vous demander comment linker tel ou tel module. Une fonction le fait pour vous.

echo link_to("Créer un membre","membre/create");


Paroles, paroles et paroles...


Puisque quelques images valent bien quelques centaines des mots, vous pouvez télécharger un screencast dédié à l'utilisation de Symfony sur le site officiel de Symfony.

Oui, je le veux ...


Vous êtes convaincus et vous souhaitez vous y mettre ? Rien de plus facile. Tout d'abord, passez sur le site officiel du projet. Vous y trouverez toutes sortes d'informations quant à l'installation et l'utilisation de Symfony.

http://www.symfony-project.com/

En fait, on peut installer Symfony de deux façon : en utilisant la Sandbox ou Pear.

La Sandbox

Elle se présente comme une solution tout-en-un. Elle comprend les applications nécessaires à la génération du code, et l'arborescence de base d'un site.

Avantages :
- Mettez la Sandbox, ainsi que le fichiers fichiers d'installation de MAMP, LAMP et WAMP sur une clé USB, et vous avez un véritable environnement de travail nomade.
- Pas de véritable installation. Il suffit de tout dézipper dans le répertoire ad hoc de votre serveur.

Inconvénient :
- Le poids (pour chaque site vous aurez une copie des applications de Symfony)

Installation PEAR

Au début j'étais réticent à utiliser cette alternative, puis en voyant la simplicité d'utilisation et d'installation, j'ai opté pour cette solution.

Une fois votre PATH mis à jour de façon à inclure le dossier 'bin' du répertoire de votre installation de php 5, il suffit de quelques commandes dans votre terminal pour installer Symfony. Ensuite, il vous suffira de vous placer dans le bon répertoire et de taper dans le terminal

symfony init-project mon_projet


Ce qui générera l'intégralité de l'arborescence du nouveau site.

Avantages :
- Symfony peut être mise à jour directement via PEAR.
- Le poids. Les applications de Symfony ne sont qu'à un seul endroit.

Inconvénient :
- La mise à jour du PATH, et l'installation, rebuteront les moins geek d'entre vous.

Les instructions complètes d'installation sont disponibles à cette adresse :

http://www.symfony-project.com/content/download.html

Et le SAV ?


Symfony, bien qu'étant un projet français, dispose d'un forum et d'une documentation en anglais. Toutefois, un groupe de discussion en français existe sur Google. Vous pouvez le trouver à cette adresse :

http://groups.google.com/group/symfony-fr?lnk=li

N'hésitez pas à vous y inscrire !

Conclusion


Symfony est un vrai régal pour les programmeurs. Il rend le PHP beaucoup plus confortable, l'ajax plus abordable, l'optimisation du référencement (url rewriting) plus simple, l'internationalisation (i18n) triviale, etc. C'est un vrai régal pour les programmeurs.

Aprés avoir étudié plusieurs Frameworks dont Prado, Jelix et Zend, je préfère Symfony pour les raisons suivantes : quelques lignes de commandes génèrent une partie du code, une bonne documentation, une grande facilité de prise en main, et le yml,

Faites-vous votre propre opinion en téléchargeant la Sandbox !

Vu que j'utilise Symfony quasiment au quotidien sur Windows et Mac (installation PEAR), je peux répondre à la majorité de vos questions dans les réactions.
partage email

Les bases du php

Mac4Pro : Axel Andersson, un programmeur Wired

chargement des réactions

Réagissez à ce dossier !

Pour réagir directement dans le forum, cliquez ici.
Pour réagir, vous devez être identifié.
Si vous ne possédez pas de compte, créez-en un !
Identifiant :
Mot de passe :
Gras Italique Souligné Image URL Smiley confus Smiley cool Smiley M. Vert Smiley malsain Smiley mort de rire Smiley geek Smiley surpris
Important : soyez concis, courtois et pertinents. (plus d'infos ?) Les messages injurieux et hors sujet seront effacés. En cas de non respect de ces instructions, le compte d'un utilisateur pourra être bloqué sans préavis.
Pour toute erreur dans un article, merci de nous le signaler en nous contactant ici.

Conseils d'achat

  • Macintosh

  • iPhone, iPad & iPod

iMac 27" 5k Indicateur vert Informations 06/2017 2099 € L'iMac 27" (Retina) a été mis à jour le 5 juin 2017 avec Thunderbolt 3, GPU dédié et puces Kaby-Lake. Pas de mise à jour prévue avant de longs mois !
iMac 21,5" 4k Indicateur vert Informations 06/2017 1499 € L'iMac 21,5" (Retina) a été mis à jour le 5 juin 2017 avec Thunderbolt 3, GPU dédié et puces Kaby-Lake. Pas de mise à jour prévue avant de longs mois !
iMac Indicateur vert Informations 06/2017 1299 € L'iMac 21,5" (non Retina) a été mis à jour le 5 juin 2017 avec Thunderbolt 3 et puces Kaby-Lake. Pas de mise à jour prévue avant de longs mois !
Mac Mini Indicateur rouge Informations 10/2014 549 € Le Mac mini a été mis à jour fin 2014, avec quelques améliorations notables, comme Thunderbolt 2, WiFi ac. Son prix a également fortement baissé, mais au prix d'un boiter moins évolutif (RAM soudée) et d'absence de quadri-coeur. Une renouvellement pour la rentrée (voire fin 2017) est possible, même si Apple n'a pas l'habitude de mettre à jour cette machine très souvent. Regardez aussi du côté du Refurb, où l'on trouve régulièrement des modèles à partir de 459€ !
Mac Pro Indicateur rouge Informations 10/2013 3339 € Apple a annoncé un nouveau Mac Pro courant 2018 (voire 2019), plus modulaire et moins fermé que la version actuelle. Dans tous les cas, surtout n'achetez pas les modèles "tube" datant de 2013 et désormais assez dépassés.
MBP Retina 13" Indicateur vert Informations 06/2017 1749 € Le MacBook Pro 13" a été mis à jour le 5 juin 2017, avec peu de nouveautés, en dehors du passage à Kaby-Lake. Vous pouvez acheter tranquillement, aucune mise à jour prévue avant de longs mois !
MBP Retina 15" Indicateur vert Informations 06/2017 2799 € Le MacBook Pro 15" a été mis à jour le 5 juin 2017, avec peu de nouveautés, en dehors du passage à Kaby-Lake et de "nouveaux" GPU. Vous pouvez acheter tranquillement, aucune mise à jour prévue avant de longs mois !
MacBook Air Indicateur orange Informations 06/2017 1099 € Le MacBook Air a été "mis à jour" le 5 juin 2017, avec des fréquences légèrement supérieures, mais aucune autre nouveauté. Cette machine est en fin de vie et Apple ne lui accordera plus aucune vraie mise à jour. Achetez le plutôt sur le Refurb !
MacBook Indicateur vert Informations 06/2017 1499 € Le MacBook Pro a été mis à jour le 5 juin 2017, avec peu de nouveautés, en dehors du passage à Kaby-Lake. Vous pouvez acheter tranquillement, aucune mise à jour prévue avant de longs mois !
Apple TV 2015 Indicateur orange Informations 10/2015 199 € L'Apple TV 2015 est sortie fin 2015 et commence à dater un peu : pas de 4k, des performances réseaux moyenne et un prix encore élevé. La rumeur évoque une évolution courant 2017, avec la 4k et le HDR. Le boitier reste malgré tout une bonne affaire... si vous la prenez sur le Refurb !
Téléchargez nos
applications mobiles
À découvrir sur Mac4Ever
b 1  b 2 
Mon Mac4Ever
Pour participer, vous devez être identifié.
Si vous ne possédez pas de compte, vous pouvez en créer un gratuitement !
Identifiant :
Mot de passe :
Sondage
Pour vous, la réalité virtuelle, ce sera...
882 votes
app