|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
![]() ![]() Directeur technique Inscription : septembre 2006 Messages : 5 959 ![]() |
Salut
N'hésitez pas à poster à la suite vos propositions de questions et/ou réponses pour la FAQ symfony http://php.developpez.com/faq/?page=sf
|
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() Inscription : juin 2004 Messages : 770 ![]() |
Ceci peut être utile lorsque le proxy bloque PEAR pour accéder à pear.symfony-project.com .... source : http://www.symfony-project.org/forum/index.php/t/51/ |
|
00
|
|
|
#3 |
|
Membre actif
![]() |
Comment ajouter des lignes js ou css entre <head> et </head> ?
On peut ajouter des lignes java script simplement dans le fichier de config apps/application/config/view.yml tu trouveras un paramètre javascripts: [] Insérer les noms des fichiers javascript séparé par virgule Pareille pour les styles css (stylesheets: []) |
|
|
00
|
|
|
#4 | ||
|
Membre actif
![]() |
Comment mettre à jour simultanément + qu’un élément dans votre page avec ajax ?
Source : http://www.developpez.net/forums/sho...php?t=551166#7 Pour mettre à jour simultanément + qu’un élément dans votre page Vous devez un peut bricoler la fonction remote_function qui possède une propriété très utile « complete » Code :
Vous pouvez même faire le nombre d’appel que vous souhaiter en ajoutant dans chaque remote_function cette propriété «complete » |
||
|
|
00
|
|
|
#5 |
|
Membre actif
![]() |
Quelle est la différence entre
forward $this->forward(NomDuModule,NomDeL'action) et redirect $this->redirect(NomDuModule/NomDeL'action) Source : http://groups.google.com/group/symfo...f0d98d19?hl=fr Foward change simplement l'action en cours pour une autre. On reste dans la même transaction HTTP. Pour le client, on est donc toujours dans la même URL. Redirect redirige complètement le serveur vers la page appelé et produit donc une nouvelle requête complète. Du coup au niveau du navigateur ce n'est pas la même URL qui est affichée. |
|
|
00
|
|
|
#6 |
|
Membre actif
![]() |
Comment je peut transférer un paramètre avec forward comme le cas de redirect ?
Source : http://groups.google.com/group/symfo...f0d98d19?hl=fr tu n'as pas besoin de repasser les paramètres à la nouvelle action si tu souhaites accéder aux paramètres envoyés par le client. Par contre si dans ta première action tu crées une variable et que tu veux avoir cette nouvelle variable dans l'action du forward, le plus simple est de l'ajouter dans les variables de la requête en faisant avant le forward : $this->getRequest()->getParameterHolder()->set('ma_variable', $valeur) ; Dans l'action du forward, tu la récupéres en faisant: $this->ma_variable = $this->getRequestParameter('ma_variable) ; |
|
|
00
|
|
|
#7 |
|
Membre actif
![]() |
Vous etes sous easyphp 2.01 et un message d’erreurs apparait : MySQL extension not loaded
L’or de génération du schéma de base de données avec propel En fait, symfony ne cherchait pas le bon fichier de configuration php.ini. Juste copier le php.ini situé dans le repertoire appache d'easyphp et coller le dans le dossier de php5 et changer le path vers le dossier des extensions dans le fichier copié |
|
|
00
|
|
|
#8 | ||||
|
Membre expérimenté
![]() Inscription : mai 2008 Messages : 453 ![]() |
Je profite d'une réponse que je viens de donner pour contribuer à la FAQ
Comment insérer du code personnalisé entre les balises <head></head> (ou ailleurs) ? Il suffit d'utiliser un slot. Un slot est un emplacement réservé que l'on peut placer dans n'importe quel élément : un layout, un partial ou un component. Il se comporte alors comme une variable dont on peut modifier à volonté la valeur. Le code destiné à être placé dans le slot est contenu dans le response global, et peut être défini n'importe où. Exemple: on souhaite intégrer des styles entre les balises <head> et </head> dans un template particulier, et uniquement dans ce template. On commence par placer le slot dans le layout.php de l'application, entre les balises <head> et </head> Code :
Code :
|
||||
|
|
00
|
|
|
#9 |
|
Membre régulier
![]() Étudiant Inscription : juillet 2008 Messages : 12 ![]() |
Tout comme pour le ZendFramework avec Zend Studio for Eclipse, nous pouvons configurer notre outils PDT pour nous faciliter le travail :
Avant tout télécharger PDT ou Zend Studio for Eclipse - Rendez-vous sur PHP Explorer et faites dérouler votre projet - Cliquez doit sur Include Paths et sélectionnez ConfigureInclude Path - Sélectionnez l'onglet librairies et cliquez sur add External Folder pour ajouter le répertoire de votre projet Symfony /!\ à la racine /!\ Autocompletion Propel : Editez la ligne où se trouve propel.builder.addComments Astuces supplémentaires : Colorisation de la syntaxe YAML : http://grupy.net/yamlEditor/ Pour aller encore plus vite : Bash autocompletion linux |
|
|
00
|
|
|
#10 | ||||||
|
Membre régulier
![]() Étudiant Inscription : juillet 2008 Messages : 12 ![]() |
Les tests unitaires sont intégrés dans Symfony et celà est une bonne choses pour connaître l'impacte de nos mises à jour sur nos modules.
Voilà avant tout, quelques méthodes implémentés : Code :
Commandes utiles : Code :
exempleTest.php Code :
|
||||||
|
|
00
|
|
|
#11 | ||
|
Membre régulier
![]() Étudiant Inscription : juillet 2008 Messages : 12 ![]() |
Lorsque vous créez une application, un fichier situé dans apps/<monapplication>/config se nommant settings.yml, contient les configurations principales de Symfony.
Pour chaques environnement vous pouvez spécifier une directive : Code :
Lors de votre link_to si le no_script_name est en off, index.php sera présent dans votre url (Utilisation de l'INFOPATH seul), dans le cas contraire vous ne le verrez plus .
|
||
|
|
00
|
|
|
#12 | ||||
|
Membre régulier
![]() Étudiant Inscription : juillet 2008 Messages : 12 ![]() |
Le cache permet d'accélerer ses applications en sauvegardant du code HTML ou une page complète pour les requêtes à venir.
Symfony possède un système de cache très flexible car il permet de stocker les informations intérprétées des fichiers de configuration YAML, le template, le résultat des actions, un composant partiel. Activation du cache : Pour activer ou désactiver le cache, vous devez modifier le champ cache du fichier config/settings.yml. Pour configurer le cache de chaques modules, vous devez vous rendre à son fichier cache.yml : "monapplication/modules/monmodule/config/cache.yml" Mettre en cache une action Avec ceci, vous pourez enregistrer chaques pages de l'action choisie avec un paramètre différent en URL : Code :
Mettre en cache un template Ici nous regardons si le cache nommé "users" existe, sinon on le stock dans le cache. "monapplication/modules/monmodule/templates/untemplate.php" : Code :
|
||||
|
|
00
|
|
|
#13 | ||||||||
|
Membre régulier
![]() Étudiant Inscription : juillet 2008 Messages : 12 ![]() |
Lorsque vous créez des articles ou des billets pour votre blog, vous voudriez changer l'aspect de vos Urls pour qu'elles soient le plus facilement référencées.
Nous allons donc pour cela configurer la classe de notre modèle concernée, nous prendrons Articles.php (que Propel à généré à partir du shema.yml "_attributes: { phpName: Articles }"). Commencez par éditez le fichier lib/model/Articles.php : Code :
Code :
Code :
Code :
|
||||||||
|
|
00
|
|
|
#14 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 722 ![]() |
Fait
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#15 | ||||
|
Membre régulier
![]() Étudiant Inscription : juillet 2008 Messages : 12 ![]() |
Question que beaucoup poses pour envoyer leurs projets sur un autre serveur sans pour autant dépendre de la librairie installée avec PEAR ou manuellement avec la source.
Nous voudrons donc faire une sorte de sandbox maison. On fait un freeze et on copie notre librairie Code :
1. Duplication des fichiers lib Rendez-vous dans le répertoire ou à été installé Symfony de base : dans le répertoire PEAR si vous avez installé PEAR ou dans le répertoire de la source si avez télécharger la source manuellement. Ensuite copiez le contenu du répertoire "symfony/lib" vers le répertoire "~monprojet/lib" 2. Configuration d'accès aux lib Maintenant que notre répertoire librairie à été placé dans notre projet nous n'aurons plus qu'à modifier l'accès à celle-ci. Modifions le fichier "config/ProjectConfiguration.class.php" : (ligne 2) Code :
|
||||
|
|
00
|
|
|
#16 | ||||
|
Membre régulier
![]() Étudiant Inscription : juillet 2008 Messages : 12 ![]() |
Il est possible d'utiliser plusieurs base de données avec Symfony. Pour ce faire, nous devons créer deux configuration dans "config/databases.yml" :
Code :
Code :
[Edit] Fait : http://php.developpez.com/faq/?page=sf#sf-pls-bdd |
||||
|
|
00
|
|
|
#17 |
|
Expert Confirmé Sénior
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
1.3 et 1.4 mise en production en novembre 2009. 1.3 sera maintenue jusqu'en 11/2010 et 1.4 jusqu'en 11/2012. Elles tournent sur PHP >= 5.2.4 et inclut http://fr.wikipedia.org/wiki/Propel1.4 et doctrine 1.2 (par défaut).
Les deux versions sont presque identique, la seul différence est que la version 1.3 ajoute le support des fonctionnalités des versions antérieurs. On utilisera donc la 1.3 pour la reprise d'un projet existant et la 1.4 pour tous nouveaux projets. Télécharger et installer Symphony 1.3 Télécharger et installer Symphony 1.41.2 mise en production en novembre 2009 et maintenue jusqu'en février 2010. Elle tourne avec PHP >= 5.2.4, inclut http://fr.wikipedia.org/wiki/Propel1.3 (par défaut) et doctrine 1.0. Elle a vu la refonte du système des formulaires. Télécharger et installer Symphony 1.21.1 fut une version intermédiaire avant la sortie de la 1.2, sortie en juin 2008, elle n'est plus maintenue depuis juin 2009. Elle n'est plus téléchargeable. 1.0 est la première version stable, sortie en janvier 2007, elle n'est plus maintenue depuis janvier 2010. Elle tourne avec PHP >= 5.0, inclut http://fr.wikipedia.org/wiki/Propel1.2 pour l'accès aux données Télécharger et installer Symphony 1.0http://php.developpez.com/faq/?page=sf#sf-choix-version |
|
00
|
|
|
#18 | ||||||
|
Expert Confirmé Sénior
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Version symfony 1.4
Au niveau des templates On rajoute dans le code du template du module : apps/<app>/modules/<module>/templates/view1Success.php Code :
Au niveau des fichiers de configuration On peut ajouter des lignes JavaScript simplement dans les fichiers de configuration config/view.yml soit au niveau de l'application, soit au niveau de chaque module, on peut y trouver les paramètre : Pour le javascript : javascripts: [] Pour le CSS : stylesheets: [] Exemple fichier view de l'application : apps/<app>/config/view.yml va insérer une feuille de style main.css dans chaque page de votre application. Exemple fichier view pour un module : apps/<app>/modules/<module>/config/view/yml Code :
Le résultat de ces deux exemples nous donnes :
Générer le code xhtml dans votre template Vous devez ajouter dans votre layout.php les lignes qui permettent d'inclure les styles sheet et les java scripts. apps/<app>/template/layout.php Code :
|
||||||
|
00
|
|
|
#19 |
|
Membre à l'essai
![]() Inscription : mai 2007 Messages : 58 ![]() |
Je voudrais préciser une chose au niveau de la différence 1.3/1.4 :
Sachant que la version 1.4 "supprime" pas mal de fonctionnalités par rapport aux versions antérieurs, il sera plus simple pour un débutant de prendre la version 1.3 pour garder une certaine compatibilité avec les divers tutos trouvables sur le net (mêmes les "officiels") qui ne sont pas (encore) mis à jour. C'est mon retour d'expérience sur la 1.4, en tant que (grand) débutant
|
|
00
|
|
|
#20 | |
|
Expert Confirmé Sénior
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Je ne suis pas sur que ce soit le sujet idéal pour un débat sur l'intérêt des différentes version, mais je vais y contribuer
![]() Je pense qu'il faut, au contraire, commencer sur la 1.4, qui a un fonctionnement largement différent et qui se rapproche un peu plus de la 2.0 a venir. Tant qu'à apprendre, autan apprendre des choses qui vont servir après l'apprentissage. La 1.3 ne sera suivie que jusqu'en 11/2010, les projets construits sur celle-ci et utilisant d'anciennes fonctions devront être repris et modifié sur la 1.4 ou la 2 a venir. Effectivement, on trouve pas mal de tuto sur des fonctionnalités propres à la 1.0 et qui sont maintenue jusqu'à la 1.3, mais dépréciées et en voie de disparition, parce que largement améliorée par les nouvelles fonctionnalités (surtout autour des objets forms qui montent en puissance au détriment des helpers dans les templates qui disparaissent). Reste que je ne vois pas trop l'intérêt de ce former sur des fonctionnalités promise à la disparition et fondamentalement modifiées juste parce qu'il y a plus de tuto. Une seul solution, augmenter les tuto sur la 1.4. Je vais essayer d'y apporter mon grains de sel. Dernier argument, l'équipe de symfony recommande fortement de débuter tous nouveaux projets avec la 1.4 Citation:
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com