Modification dans une application sous symfony - PHP - Programmation
Marsh Posté le 02-05-2013 à 03:40:01
Salut,
premier regard rapide en présumant que c'est du symfony 2+ :
Pour l'extract en csv, elle est déjà faite sur l'objet et il faut la faire évoluer ou c'est une nouvelle fonction à ajouter ?
- si l'appli a été faite en PHP sous symfony, les fichiers du serveur doivent contenir le framework symfony donc, amha, tu peux t'en sortir sans trop de soucis.
- 1ère étape : backup avant modif (bon, ok trivial )
- 2è étape, dans un phpmyadmin ou équivalent, un alter table pour rajouter le champs de donnée 'data' désiré
- 3è étape : repérer le controleur de gestion du formulaire
* repérer le formulaire de saisie (via l'url) et le rechercher dans les fichiers.
* en déterminer le fichier contrôleur
- 4è étape : modifier le controleur
* ajouter le ->Add('data', type)
* faire évoluer l'objet correspondant pour rajouter la donnée 'data'
- 5è étape : mapper la nouvelle variable de l'objet en bdd
donc soit propel soit doctrine
Dans les deux cas, lire le bouquin de symfony et tu devrais t'en sortir.
Extraction csv :
----------------
le plus simple est de faire un extract au niveau de l'objet mappé.
ie faire :
- un findAll()
- foreach, blabla
- fputcsv avec les données qui vont bien
et pour t'aider, je t'ai trouvé un tuto tout bien fait
biblio utile :
http://symfony.com/fr/doc/2.1/book/forms.html
http://symfony.com/fr/doc/2.1/book/doctrine.html
http://symfony.com/fr/doc/2.1/book/propel.html
http://yoann.aparici.fr/post/gener [...] c-symfony2
Marsh Posté le 02-05-2013 à 09:48:34
Merci Gagaches
Mais j'avoue que j'ai du mal a tout comprendre
Pour info, oui l'extract csv existe déjà. Il faut juste rajouter la donnée dans le SELECT
Pour l'alter table, là c'est bon.
Pour les étapes 3, 4 et 5 : ça devient plus compliqué.
Je vais regarder ...
Marsh Posté le 02-05-2013 à 10:34:55
donc pour l'extract, pas de soucis finalement, très bien
Pour les étapes de modif :
symfony est basé sur un pattern MVC avec un système de génération de vue par le controleur.
Donc tu dois avoir un <Produit>Controleur.php par exemple ou un équivalent qui va gérer le produit en utilisant une classe Produit.
Et cette classe produit est connectée via doctrine ou propel à la bdd.
A la limite, remontes du produit, ça peut être plus simple :
vu que tu as le nom de la table bdd du produit, fais une recherche pour trouver le fichier <Produit>.php qui contient la classe mappée.
rajoutes l'attribut du champs que tu veux rajouter et les infos qui vont bien pour faire le mapping bdd (cf. les liens sur doctrine & propel)
une fois le champ ajouté, tu va pouvoir rechercher le nom de la classe dans les fichiers php pour trouver le(s) contrôleur(s) associé(s) et le(s) faire évoluer en ajoutant la gestion du champ, notamment dans le forumaire et sa gestion.
je suis toujours là si tu as besoin
Marsh Posté le 01-05-2013 à 16:40:55
Saluts les djeunzs
Voila mon problème :
Pour un de mes clients PME, j'ai fait développer en 2008 une application de gestion de leur société.
J'ai rédigé le cahier des charges et suivi le développement et la recette.
J'ai confié la réalisation à une SSII
Celle-ci a réaliser le projet en PHP sous symfony.
Mon client aimerait faire une légère modification sur l'application :
En gros, rajouter une donnée sur un des objets :
- ajouter la variable dans la table MySQL
- ajouter le champ dans l'écran de saisie
- permettre la restitution de cette donnée dans un fichier de sortie .csv
J'ai commencé à regarder comment ça marche syfony (j'ai qq notions de PHP)
J'avoue avoir un peu de mal.
Questions :
Faut-il installer symfony pour faire une MAJ de ce type ou simplement en bidouillant les fichiers sur le serveur ça l'fait ?
D'après vous c'est faisable par qq'un qui n'a jamais touché à ce framework ?
ou sinon, où puis-je trouver des développeurs Symfony pour faire ce genre de modifs ?
Merci pour vos éclairages.