|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 2 ![]() |
Dans le cadre d'un projet personnel (mais d'une certaine ampleur), je suis à la recherche d'un framework PHP, de préférence gratuit et/ou open source qui, à la fois, permette de la modélisation de relativement haut niveau, et qui soit adapté pour la conception d'une application modulaire.
1. Ce que j'entends par "modélisation d'un niveau relativement haut" c'est la chose suivante : Imaginons que je veux manipuler des autorisations d'accès (à des fichiers) qui ont une certaine période de validité, je voudrais que ma classe "AccessAuthorization" ait (notamment) deux propriétés : "user" et "period", respectivement d'un type (dont les données proviennent généralement d'une table MySQL) implémentant l'interface "IUser" et d'un type "Period" (définie, par exemple, par date de début et date de fin). J'aimerais pouvoir accéder à ces propriétés de cette manière : et J'aimerais ensuite les manipuler sans voir à m'inquiéter : - de la classe exacte utilisée pour la propriété "user" (du moment qu'elle dérive de IUser) - de la manière exacte dont est implémentée la classe "Period" (ça peut être une date de début et une date de fin, ou bien une date de début et une durée, etc. ) En particulier, je ne veux pas avoir à écrire la moindre instruction SQL, notamment pour créer les tables à l'installation de l'application (du moment que je déclare explicitement les propriétés que je souhaite voir dans chaque classe, bien entendu). Je voudrais pouvoir faire des requêtes de haut niveau, du style : Code :
Cette écriture de haut niveau me permet de requêter sur des types complexes sans connaître leur implémentation ou leur représentation dans les tables SQL. Il me suffit de connaître (ou de retrouver) les méthodes du style "isInside()" mises à disposition par celui qui a développé le type "Period", ce qui me paraît plus simple (notamment avec la future gestion des propriétés PHP __get() dans le bloc PHPDoc dans Eclipse PDT qui permettra de donner la liste des méthodes disponibles sous forme de code assist) et surtout plus sûr, mais tous les goûts sont dans la nature 2. Ce que j'entends par "adaptée pour une application modulaire" c'est, par exemple, la possibilité d'obtenir un objet représentant l'utilisateur courant en écrivant quelque chose du style : Code :
Typiquement la méthode "getModule()" est fournie par le framework (qui dit framework adapté pour faire des applications modulaires, dit gestion du cycle de vie des modules même si, en PHP, la vie d'un objet est souvent assez brève... Ou encore la possibilité, lorsqu'on écrit un module qui a besoin de paramètres de configuration, de simplement lui faire implémenter une interface du genre Code :
Ne trouvant pas rapidement un framework qui réponde à ces critères, j'ai déjà commencé à faire des choses par moi-même (en particulier les exemples que je donne ci-dessus sont pratiquement gérés, dans mon mini-framework personnel) mais, maintenant que je vois comment aborder le problème, j'aimerais me recaler sur quelque chose d'existant. Soit pour consolider ce que j'ai commencé à faire soit, carrément, pour basculer. |
||||||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Inscription : septembre 2007 Messages : 951 ![]() |
Okay je te conseille sans hésiter Symfony, il ne fera tout ce que tu demandes mais il s'en approche, libre a toi de proposer un nouveau module
- Il a un ORM Propel (tes objets seront donc mappés) - Tu devras apprendre YAML, toute la conf se fait par ce type de fichier. Va sur leur site voir la présentation ou tu peux faire leur tutoriel "askeet" pour voir s'il te convient. C'est un Framework tres complet. http://www.symfony-project.com/ |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 2 ![]() |
Merci pour le tuyau !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com