cakePHP - developpement rapide - framework MVC - PHP - Programmation
Marsh Posté le 07-09-2006 à 10:15:59
Je développe mon propre framework
J'ai beaucoup examiné Cake, y'a deux-trois trucs qui me plaisent pas trop et qui m'avaient l'air un peu louches, mais je sais plus quoi
Marsh Posté le 07-09-2006 à 13:28:54
si tu retrouve les trucs je serais content que tu nous en fasse part.
Marsh Posté le 07-09-2006 à 13:39:19
les gens du topic ^^
dans cakePHP la validation des données (puisque c'est le sujet actuel de ton topic) se fait principalement dans le model de facon assez simple pour une ou 2 verification, sinon il existe 2 ou 3 autres methodes de validations avancées dans leur wiki. j'ai opté pour cette solution
http://wiki.cakephp.org/tutorials:advanced_validation
Marsh Posté le 07-09-2006 à 23:37:30
bon up, il va falloir en dire plus pour attirer du monde apparement, en fait je ne comprends pas qu'on tout ne le monde n'utilise pas ce genre de frameork depuis que je l'ai découvert, alors vos réponses? pkoa?
Marsh Posté le 11-09-2006 à 16:56:37
Si je te dis : "par ce que je me fais un a moi perso tranquillou".
Ca va comme réponse?
Bon, alors on va dire que c'est par ce que j'ai du mal à croire qu'un systéme qui dit "on execute presque plus aucune requette et on est sur que dans une même page aucune requette superficielle n'est exécutée" et "on mappe une fois pour toute la ou les tables, ensuite on pioche dedans sans faire de requette ou jointure nous même" soit optimisé au niveau optimisation des requettes à la base de donnée. Personellement, ca me donne trop l'impression que le framework va lancer des requettes immense multijointures même si on a besoin que de deux colonnes situé dans la même table.
PS : En résumé, je préfaire avoir une parfaite métrise de mon code que de mal utilisé un systéme qui se dit meilleur dans la pluspart des cas.
Marsh Posté le 12-09-2006 à 02:43:16
omega2 a écrit : Si je te dis : "par ce que je me fais un a moi perso tranquillou". |
Idem, mais pour moi la raison est que je suis un noob Fo dire que lorsqu'on ma expliqué la POO on me parlait de voitures, de roues et de portes !
Merci Oooooooooooooooooooooooo mes anciens profs que j'encule si fort !
Marsh Posté le 12-09-2006 à 07:56:18
moi ct avec des figures géométriques...peu importe le flacon, pourvu qu'on ait l'ivresse ...
pour revoir tes bases en Poo je te recommande l'introduction du java tutorial...y'a une histoire de vélo pas mal foutue, et assez simple à comprendre...je l'avais recommandé aux gens de ma classe qui panaient rien à la POO
http://java.sun.com/docs/books/tut [...] index.html
Marsh Posté le 13-09-2006 à 03:38:58
omega2 a écrit : Si je te dis : "par ce que je me fais un a moi perso tranquillou". |
grace a une constante de debug on peut afficher les requettes exécutées et le temps d'execution.
En general les requettes sont optimisés selon les champs que tu souhaites retirer, et il est toujours possible d'executer sa requette ecrite si l'on désire.
L'idée est de conserver une rapidité de codage, ensuite il est en effet peut etre necessaire d'ecrire ses propre requettes pour des jointure spécifique, mais dans ce cas quel framework universel peut gerer les cas specifique?
j'ai l'impression que chacun essaye de faire son propre framework dans son coin, pour exemple l'un de mes donneur d'ouvrage est en train de developper le sien, et je suis obligé de l'utiliser. Il a sa propre logique, pas le temps de tout documenter, rajoute des trucs a droite a gauche, rebrousse chemin, sa convention de syntaxe et nommage est pas genial (mais lui convient parfaitement).
Bref quand a moi je prefere ne pas reinventer la roue et m'appuyer sur un framework collaboratif disposant d'une communauté importante.
Pour la programmation objet, une fois compris on se rend compte que c'est beaucoup plus simple que de se trimballer des variables et tableaux au nom a rallonge pour etre descriptive.
Marsh Posté le 13-09-2006 à 08:46:18
Dans l'ensemble, je serais assez tenté d'être d'accord avec speedyop, si ce n'est qu'actuellement, en PHP, je n'ai pas encore touvé de framework que j'estime bien codé (les fonctionnalités ne me suffisent pas, je cherche aussi à savoir comment il les fournit). Le mieux réalisé que j'ai vu actuellement, c'est jelix, mais il ne répond pas encore complètement à mes propres critères d'exigence pour la qualité du code.
Résultat, j'en suis réduit à faire mon propre framework. Ca me fait bien chier parce que j'aurais préférer prendre un truc tout fait également et ne pas réinventer la roue, mais bon...
Marsh Posté le 13-09-2006 à 14:10:24
as tu des exemples d'exigence que tu as pour un framwork? que je regarde si je devrait monter les miennes?
Marsh Posté le 13-09-2006 à 17:38:53
- Pas d'accès direct non-controlé à des membres d'une classe.
- Pas d'assignation d'un valeur sans vérification du type (au minimum)
- Pas de fichier de configuration xml sans xsd (ou dtd à la rigueur)
- Pas d'utilisation de module PEAR
- Fonctionnement normal en safe mode
- Pas de modification direct du modèle dans la vue (pour la partie MVC)
- Full PHP 5
- Utilisation de PDO ou, si indisponible, d'ADO-DB pour les accès DB
- ...
Marsh Posté le 13-09-2006 à 17:51:46
gizmo a écrit : - Pas d'accès direct non-controlé à des membres d'une classe. |
Marsh Posté le 13-09-2006 à 18:15:23
sinon je suis en train de travailler en localhost sur un truc, je viens d'uploader mon avancement, si vous desirer voir ce que peut donner cakephp mis en oeuvre.
http://www.azndiffusion.com/shop/
attention c'est carrement pas fini, il doit encore manquer 1 ou 2 verifications, je vous le montre surtout pour vous monter ce qu'on peut faire en pas beaucoup de ligne de code, le controller produit fait actuellemnt tout juste 100 lignes, le model associé qui inclut les verifs 70 et la vue de la page d'edition (même si c'est pas significatif) 69 lignes ajax comprix (essayer d'uploader une photo et de la supprimer apres, j'ai pas de verif sur le type pour l'instant.) La methode correspondant a la page d'edition c'est 2 lignes...
Marsh Posté le 13-09-2006 à 18:19:21
[Attention]Je ne connais pas cakePHP, j'y ai jeté un oeil il y a quelques temps et s'tout. Je réponds donc juste au dernier post[/Attention]
gizmo a écrit : - Pas d'assignation d'un valeur sans vérification du type (au minimum) |
speedyop a écrit : ça c'est une constante de PHP non? |
Je dois mal comprendre ta phrase mais tu n'es tout de même pas en train de dire qu'il y a vérification de type à chaque assignation en php?
gizmo a écrit : - Pas de fichier de configuration xml sans xsd (ou dtd à la rigueur) |
speedyop a écrit : le fichier ini ne te suffit pas? XML c'ets lours a parser alors qu'il y aune fonction PHP pour parser un .ini |
Pour le coup je plussoie gizmo, les fichiers de confs en xml sont souvent plus pratiques. Même si effectivement parse_ini_file marche pas mal.
gizmo a écrit : - Pas de modification direct du modèle dans la vue (pour la partie MVC) |
speedyop a écrit : La vue ne devrait JAMAIS modifier le modele, dans quel cas de figure doit tu faire ca? si c'est du ajax, il y a un HELPER AJAX |
Il a pas dit qu'il voulait faire ça, mais que ça devait pas être possible
gizmo a écrit : - Full PHP 5 |
speedyop a écrit : non compatible PHP4 |
ce qui n'est pas signe de qualitaÿ, car AMHA l'objet en php[edit]4[/edit]
Marsh Posté le 13-09-2006 à 18:45:36
compatible php5 et 4 il applique 2 model different selon la version php installée.
Marsh Posté le 13-09-2006 à 19:41:01
si il veut une DTD ou un XSD c'est AMHA pour pouvoir valider son fichier de conf...c une vérif de syntaxe basique qui t'évites de tourner 50 ans pour voir pkoi ton fichier de conf est pas pris ou déconne...
pour la vérif de type et le controle d'accès, ca me semble des principes de base objet (encapsulation et typage fort)...(même si masklinn passe par là et nous poste ses trucs sur le typage bizarre en python )
Il veut aussi un framework permettant de découpler ton code de la base...
bref, il veut un truc propre
Marsh Posté le 13-09-2006 à 22:51:45
bah oui, voila Et vu les bugs qu'il y a actuellement dans PHP, c'est pas une sinécure pour y arriver
Marsh Posté le 13-09-2006 à 23:03:52
c'est PHP aussi...
j'ai fait des efforts, j'étais presque motivé pour faire mon site en php...j'ai lu le début du bouquin que je me suis meme spécialement acheté pour l'occasion...j'ai abandonné : mon site sera en java, ou ne sera pas (ou en .NET mais j'ai la flemme d'apprendre )
Marsh Posté le 13-09-2006 à 23:15:55
Bah, oui, mais bon, sur les mutus, c'est un peu la misère pour trouver autre chose que du php à un prix convenable (quoique, ça commence lentement à changer avec ruby), donc, faute de grives...
Marsh Posté le 13-09-2006 à 23:49:29
ReplyMarsh Posté le 13-09-2006 à 23:50:03
gizmo a écrit : Bah, oui, mais bon, sur les mutus, c'est un peu la misère pour trouver autre chose que du php à un prix convenable (quoique, ça commence lentement à changer avec ruby), donc, faute de grives... |
on mange du Cake?
Marsh Posté le 14-09-2006 à 07:59:20
speedyop a écrit : faire un site en java? un site perso tu veux dire? |
oui...j'ai une formation de développeur J2EE, mais je suis plus du tout là dedans...et donc ca me fait chier de devoir apprendre un autre langage alors que j'en connais déjà un qui va très bien pour faire des sites
Marsh Posté le 07-09-2006 à 02:55:52
video de présentation : http://cakephp.org/screencasts/view/3
cakePHP est un framework (cadre de travail?) PHP basé sur le MVC (Model, View, Controleur).
Le PHP etant un language parfois permissif, le code de certains programmeurs peut devenir très rapidement inmaintenable, c'est la ou intervient le MVC et la structure de cakePHP qui garantissent une séparation des données, de la logique et de la présentation.
la partie model de cakePHP fait gagner un temp considérable dans la gestion de la base de donné, on execute presque plus aucune requette et on est sur que dans une même page aucune requette superficielle n'est exécutée.
La classe fournit suffisement de methodes pour mapper la classe model aux structures de base de donnée les plus complexe (avec jointures) sans que la manipulation de la classe soient plus complexe après (on mappe une fois pour toute la ou les tables, ensuite on pioche dedans sans faire de requette ou jointure nous même)
il existe un systeme de scaffolding (echaffaudage) permettant de rapidement (une declaration de variable!) prototyper une application (les lister,ajouter, modifier, supprimer depuis une base de donnée).
tout un tas de classes sont fournient pour faire des traitements sur le textes, inclure rapidement des formulaires, valider les données et il est extremement facile d'isoler des bouts de son propre code pour les réutiliser en respectant la structure de cakePHP (helpers, component, plugins)
en bref je n'ai trouvé aucun défault a ce framwork que j'utiliserai dorenavent sans modération et vous?
http://www.cakephp.org
Message édité par speedyop le 07-09-2006 à 23:36:27