Bonjour à tous,
Voilà, je me lance dans le développement d'une application (assez lourde) et je compte utiliser Symphony2.
Avant de commencer je précise que j'ai une seule expérience avec un autre framework PHP : CodeIgniter. Je le trouve très intuitif, et j'adorerais créer mon projet avec. Sauf que j'aime apprendre et comme je connais déjà "trop" bien CI, je me tourne vers Symfony2 qui, je suis sûr, une fois maîtrisé, remplira son rôle à merveille.
Je souhaite utiliser Symfony2 car c'est... le futur, tout simplement. Vu que c'est pour de l'apprentissage (avec un projet à la clé mais au stade de développement où est arrivé Symfony2, ça ne devrait pas poser de problème).
Donc d'une part je bataille depuis plusieurs jours pour créer un bête formulaire... j'ai enfin réussi aujourd'hui !(ne m'applaudissez pas).
En fait, là où CodeIgniter crée tout seul ses routes et URI en fonction du dossier dans lequel se trouve le fichier, Symfony nécessite un paramétrage (routing.yml). Bref, ça, c'est compris.
Cependant, maintenant, je doit organiser mon projet et je veux m'y prendre dès le début pour ne pas avoir à revoir mon code par la suite et changer les routes. Voici à peu de choses près le squelette de mon projet :
Ce que je voudrais faire, c'est dans mon dossier Sensio/RentBundle/ (c'est le nom de mon bundle) créer soit un dossier par module, soit un dossier "modules" puis un dossier par module (encore mieux).- Accueil
- Module User
---- Inscription
---- Login
---- Password oublié (entrez votre adresse email...)
---- Réinitialisez votre password (entrez deux fois le nouveau password) <-- on accède à cette page via un token envoyé par email
- Module Commandes
---- Formulaire de commande
---- Récapitulatif des commandes passées
---- Info sur les offres. Pas besoin d'être inscrit pour accéder à cette page.
- Module Admin (par les utilisateurs ayant commandé)
---- administration du serveur X
---- administration du serveur Y
---- etc... en fonction du nombre de serveurs dont dispose le clients (tous types)
- Module Admin (par "moi-même")
---- Récapitulatif des commandes passées
---- commande au détail (clic sur un lien du récapitulatif par exemple)
---- autres...
Et je veux accéder par exemple à l'interface de login (qui se trouve dans Sension/RentBundle/User/) par l'adresse : app_dev.php/user/login
Sauf que ça ne fonctionne pas, dans le controller, il faut une méthode du type "nomdudossierAction()"... Dans mon cas il appelle une méthode userAction() donc. Or ce n'est pas ce que je veux. Je veux pouvoir créer n'importe quelle fonction dans mon contrôleur, qui appelle n'importe quel de mes composants.
Voilà mon fichier de routing :
De même, je ne sais pas où créer mes modèles, la doc n'a pas l'air d'en parler...rent:
pattern: /
defaults: { _controller: RentBundle:Rent:index }
login:
pattern: /user
defaults: { _controller: RentBundle:Rent:user }
Bon je sais qu'en postant ici il n'y aura pas forcément énormément de réponses car je m'engage sur une Terre inconnue, mais si quelqu'un a au moins quelques astuces, conseils, expériences, je suis preneur.
Merci d'avance !
Partager