flush
| Modérateur
Inscrit le : 09/05/2005
|
# Le 05/10/2006 à 09:41
Bonjour,
Avec mon collègue on vient de tester le framework cakephp qui est presque un clone de "on rails pour ruby" pour php.
Tout d'abord :
- le MVC : C'est bien quand on est à 20 sur un projet, mais quand on est 2 et qu'il faut modifier 3 à 4 fichiers minimum (La vue, le contrôleur, le modèle, et la route) pour faire une nouvelle page ... un peu lourd ...
- Tout marche par héritage : (Les contrôleurs, les modèles) c'est pratique ca évite de réécrire beaucoup de code surtout avec des classes d'abstraction assez bien faite, mais il faudrait une documentation avec des exemples !
En effet leur documentation est complète, mais parfois sans exemple c'est un peu dur de s'y retrouver (surtout au début) ...
- Sinon au niveau apprentissage c'est vraiment rapide, avec des connaissances en php et objets on s'en sort facilement.
- Niveau Benchmark, j'en ai pas fait, mais à mon avis c'est plutôt très lent ...
puisque :
On commence par un .htaccess qui fait une route généraliste vers un fichier php qui va définir le fichier à être appelé via la "route" puis appeller le controlleur puis le modèle et enfin la vue ...
Bref pour chaque requête HTTP, php accède à 6 ou 7 fichiers minimum !!
- Plus rapide ?
Tout le monde me dit qu'avec ruby on rails on coupe le temps de développement en 2, et bien surement aussi avec cakephp ?
Humm sur des gros gros projets peut-être, mais surement pas sur de petits projets !
- Et AjaxHelper ?
Cakephp intègre une classe AjaxHelper qui gère pleins de chose directement en s'appuyant sur Prototype et script aculos us. (C'est bien mais quand on connait bien javascript et qu'il faut écrire du code php aus normes cakePhp pour avoir du javascript ... il faudrait une doc bien plus complète ! Et cela oblige à faire ce que propose cake car si on veux faire son propre truc on peux oublier cakePhp ou alors se casser la tête dans son système pour faire une classe dérivé qui prendra beaucoup plus de temps !)
En conclusion je dirais que cakePhp manque d'exemples dans sa documentation officielle (Le cakephp wiki je sais, mais pas très complet ...)
Et que pour une utilisation sur un site à fort trafic je doute vraiment ... Le gain de temps sur le développement peux être justifié dans le cas d'une réalisation de site internet avec beaucoup de formulaire (où la c'est bien géré pour la vérification, c'est un jeu d'enfant tellement que ca va vite ). @+ Jean-Philippe |
devtribu
| Olivier Modérateur
Inscrit le : 16/06/2005
|
# Le 05/10/2006 à 11:12
Interessant !
Merci Février 2019, mon futur livre Tout JavaScript chez Dunod https://amzn.to/2PoLd0f |
krucial
| Jean Christophe Administrateur
Inscrit le : 09/03/2005
|
# Le 05/10/2006 à 11:38
C'est la que je me rends compte que ne pas avoir fait d'etudes d'infos, ca manque JC - Mes sites | Affiliation devis travaux | Cotes voitures anciennes |
Zalex14
| Alexandre Modérateur
Inscrit le : 09/05/2005
|
# Le 05/10/2006 à 11:43
krucial a dit :
C'est la que je me rends compte que ne pas avoir fait d'etudes d'infos, ca manque
Pareil
Je suis admiratif
Mieux vaut s'attendre au prévisible que d'être surpris par l'inattendu. |
PepsiCola
| Jean-Jacques En attente
Inscrit le : 09/05/2005
|
# Le 05/10/2006 à 12:25
krucial a dit :
C'est la que je me rends compte que ne pas avoir fait d'etudes d'infos, ca manque
Je pensais être le seul à rien avoir compris !
Et pourtant j'ai fait des études d'informatique mais c'était il y a un certain temps abonné au gaz |
Zalex14
| Alexandre Modérateur
Inscrit le : 09/05/2005
|
# Le 05/10/2006 à 12:34
Vous utilisez tous des framework pour développer vos sites ? Mieux vaut s'attendre au prévisible que d'être surpris par l'inattendu. |
Geo 113
| Geoffrey Modérateur
Inscrit le : 04/05/2005
|
# Le 05/10/2006 à 12:42
Cosmix
Rendez imprévisible l'Economie; Mentez aux sondages |
flush
| Jean-Philippe Modérateur
Inscrit le : 09/05/2005
|
# Le 05/10/2006 à 12:47
lol désolé de paraître pour un extra-terrestre !
Perso sur la plus part de mes sites je n'utilise pas vraiment de framework complet du genre zend ou cakephp, mais plutôt un ensemble de classe normalisé et regroupé.
(Je donne un début d'explication sur un site en construction ici : http://www.lephp.com/apprendre-php/faire-son-propr... )
Mais pour n'importe quel site il est primordiale je dirais d'avoir au minimum 2 classes voir 3 :
- une classe d'abstration de base de donnée. (Si un jours vousvoulez migrer de mysql à postgresql ou oracle c'est plus facile... ou si vous voulez un jour avoir un log de toutes les requêtes sql avec un bench sur chaqu'une d'entre elles ...)
- une class Template : même si vous gérer pas un véritable template avec des fichiers à ouvrir pour remplacer le titre et companie ... au moins quelque chose qui permet d'avoir que 1 seul include et dire :
<?php
require_once('./init.php');
$page = new Template();
$page->newPage('mon titre', 'ma description ...');
$page->warning('Vous devez être connecté pour modifier ce fichier !');
$page->newSection('Ma 1ère rubrique ...');
//...
$page->newSection('Ma sous rubrique 1...');
//...
$page->endSection();
$page->newSection('Ma sous rubrique 1...');
//...
$page->endSection();
$page->endSection();
$page->endPage();
?>
- une classe d'authentification pour les sites avec espace membre : si un jours vous voulez passez de md5 à sha512 ou alors rajouter un grain de sel etc... il faut mieux avoir un objet pour tout centraliser ! @+ Jean-Philippe |
Julgates
| Julien Administrateur
Inscrit le : 09/03/2005
|
# Le 05/10/2006 à 13:02
Moi je fais jamais d'objet, juste de jolies fonctions regroupées dans un fichier que j'inclue Shopping Time Network - Founder / CTO |
bhamp0
| Benjamin Membre
Inscrit le : 09/05/2005
|
# Le 05/10/2006 à 13:19
Moi je me suis récemment développé mon propre framework PHP5 Objet inspiré MVC : c'est un gain de temps non négligeable La séparation de la vérification des données, de leur traitement et de l'affichage est un gros plus qui permet de savoir très vite d'où vient le problème dans votre application ...
Mon premier site basé dessus va bientôt sortir (site sans véritable prétention), je vous le montrerai à l'occasion Quand on voit c'qu'on voit, et qu'on entend c'qu'on entend, on a raison d'penser c'qu'on pense ! |
Rano
| Jean Modérateur
Inscrit le : 13/04/2005
|
# Le 05/10/2006 à 13:24
ouais pareil, j'ai un modèle MVC aussi :
- PHP
- AJAX
- HTML
C'est vrai, ca correspond Chambres d'hote tavel
Séjours en provence
Forum mariage |
superfc
| Florent Membre
Inscrit le : 01/07/2006
|
# Le 05/10/2006 à 13:43
On en a déja parlé tous les deux, je suis pas tout à fait d'accord. Pour la base de données, j'utilise aussi une classe de plutôt haut niveau :
genre :
$infos = array('nom'=>'Dupont', 'prenom'=>'Pierre');
$BDD->put('personnes', $infos);
$id = $BDD->insert_id();
Ca fait gagner vraiment pas mal de temps et ça clarifie le code.
D'ailleurs, là, programmer en objet, ça sert pas à grand chose. Mais pour des transactions, j'utilise :
$BDD->transac_begin(); $BDD->transac_commit; $BDD->transac_rollback();
et ça permet de faire des transactions à plusieurs niveaux de façon très simple (le niveau de transaction est géré par la classe).
Et la classe permet par exemple de sauvegarder toutes les requêtes. Comme ça on test le script en faisant une transaction qui aboutie pas et on affiche toutes les requêtes SQL pour voir si tout se passe comme prévu.
Pour la sortie, j'utilise pas de classe parce que c'est le propore des CSS de permettre de réadapter un design. Donc je trouve que ça sert à rien de le faire faire par une classe en plus.
Par contre oui, pour faire des petites fonctions dédiées aux utilisateurs, ça me sert vraiment pas mal.
Moi je reste très attaché à programmer sans le modèle MVC, parce que ça permet de bien contrôler ce qu'on fait. Et par exemple pour faire du Ajax avec les caches, je pense pas que cakephp y ait pensé (c'est pas leur problème l'optimisation), pourtant ça sert énormément.
Par contre, je connais un peu le C# .NET, j'ai fait quelques petites programmes dessus, et c'est vraiment très très pratique. Mais je suis pas convaincu de l'utilité du MVC sur le Web.
Sinon, je continue à garder un grand nombre de fonctions, parce qu'un des gros intérêt du PHP c'est de charger les fonctions à la volée or quand on met tout dans des classes, y'a plein de fonctions dont on se sert jamais. Pour l'accès base de données, le temps de chargement est négligeable vu comme ça sert. Mais pour la plupart des autres trucs, ça coûte en performance.
Et humainement, l'objet ça fait plaisir. Ca relaxe de voir un code avec des objets, alors qu'avec que des fonctions ça devient très vite chiant.
Maintenant, ce que j'aimerais bien savoir faire, c'est programmer en objet en JavaScript... Florent Clairambault - http://florent.clairambault.fr
Gtalk : superfc@gmail.com |
erwinol
| Erwin Membre
Inscrit le : 09/05/2005
|
# Le 05/10/2006 à 14:22
Zalex14 a dit :
Vous utilisez tous des framework pour développer vos sites ?
Moi oui mais c'est un FW perso que j'ai dev au boulot (chez mon ancien employeur).
Je ne l'utilise pas trop pour les projets persos parce que là je réutilise des trucs que j'ai fait auparavant ... le copier coller est souvent très tentant.
Sinon il y a un Framework simple en cours de dev : Le Zend Framework ... il a l'air relativement simple à manipuler mais il est encore un peu pauvre au niveau de la gestion des formulaires.
(Message édité le 05-10-2006 à 14h29 par erwinol) |
devtribu
| Olivier Modérateur
Inscrit le : 16/06/2005
|
# Le 05/10/2006 à 14:37
J'arrive pas trop a me motiver pour utiliser du code ecrit par d'autres...
J'ai juste quelques fichiers de fonctions que je reutilise
En particulier sur les bases de données qui permettent effectivement de logger les requetes et de voir leur temps d'execution
J'utilise aussi un groupe de fonction pour l'identification de session
Pour moi, le plus important c'est vraiment la performance et pas tellement le temps de developpement.
Les usines qui ouvrent 50 fichiers de configs, de templates et qui instancie des kilos d'objets sur toutes les pages, ca me plait pas
Février 2019, mon futur livre Tout JavaScript chez Dunod https://amzn.to/2PoLd0f |
superfc
| Florent Membre
Inscrit le : 01/07/2006
|
# Le 05/10/2006 à 14:47
Bah oui, c'est ça la limite des classes. C'est que tu charges un gros truc à chaque fois. Tu peux charger des bouts de classe. Florent Clairambault - http://florent.clairambault.fr
Gtalk : superfc@gmail.com |
MathieuC
| Mathieu Modérateur
Inscrit le : 15/07/2005
|
# Le 05/10/2006 à 14:59
Je donctionne comme devtribu, je prefere passer 20% de temps en plus a developper a louer 50% de serveurs en moins
Autant pour un site a frequentation moyenne ca n'a pas d'importance d'optimiser a outrance, autant pour des sites a tres fort traffic, c'est vital.
Donc c'est comme tous les outils, ils sont adaptes a certains usages, en dehors de leur domaine de predilection, ils ne sont pas adaptes. |
superfc
| Florent Membre
Inscrit le : 01/07/2006
|
# Le 05/10/2006 à 15:23
Oui, enfin si tu fais du haut niveau et que tu mets en cache (soit en PHP, soit avec un serveur de cache) la différence de performance est complètement négligeable.
Florent Clairambault - http://florent.clairambault.fr
Gtalk : superfc@gmail.com |
Geo 113
| Geoffrey Modérateur
Inscrit le : 04/05/2005
|
# Le 05/10/2006 à 15:37
oui sauf que le cache n'est pas viable pour tous les usages,
il y a du contenu réellement dynamique Cosmix
Rendez imprévisible l'Economie; Mentez aux sondages |
devtribu
| Olivier Modérateur
Inscrit le : 16/06/2005
|
# Le 05/10/2006 à 15:46
Le cache par serveur ne fonctionne pas tellement bien pas sur un forum ou sur un site de jeu.
Y a certaines requetes ou contenu qui peuvent etre en cache, mais pas toutes et surtout le cache est tres rapidement obsolete Février 2019, mon futur livre Tout JavaScript chez Dunod https://amzn.to/2PoLd0f |
MathieuC
| Mathieu Modérateur
Inscrit le : 15/07/2005
|
# Le 05/10/2006 à 17:27
superfc> dans mon cas (myefarm), 90% du contenu de toutes les pages est dynamique. Donc le cache est quasiment inexistant
En faisant plus de 2 million de pages PHP / jour, la moindre opitimisation se ressent tout de suite sur les machines |