Aller au menu - Aller au contenu

CakePHP 2.0 sort du four

Revenir à la liste des news
Participer à la discussion

Image

Informations

Contributeur(s) : ThePooh
Publié : le 21/10/2011 à 07:00:00
Catégorie : Programmation
Visualisations : 8 022

Licence : Creative Commons BY SA

CakePHP 2.0 sort du four

CakePHP est un framework open-source (Licence MIT) écrit en PHP, inspiré de Ruby On Rails et dont le but est de promouvoir le développement d'applications rapide (RAD en anglais) tout en proposant un cadre structuré et une certaine flexibilité. Attendue depuis des mois par sa communauté, la version 2.0.0 du célèbre framework est finalement sortie le 17 octobre plus d'un an après la sortie de la première alpha publique. Cette sortie marque un tournant majeur dans l'évolution du framework qui avait connu plusieurs moments troubles ces derniers mois (une partie de la core team avait migré vers un nouveau projet Lithium) puisqu'en effet, cette version signe l'abandon définitif de PHP 4 au profit de PHP 5.2.9 notamment.

Présentation du framework


Image utilisateur
Comme beaucoup de ses concurrents, CakePHP est un framework basé sur l'architecture MVC et qui adopte la philosophie de la convention plutôt que la configuration. Le but étant de proposer un certain nombre de conventions strictes tout en gardant une certaine flexibilité. Comme tous les frameworks dignes de ce nom, CakePHP embarque toutes les conditions de sécurités nécessaires et les outils pour gérer cookies, sessions, ACL, i18n etc...L'autre point fort de CakePHP est sa console qui permet en ligne de commande de générer ou plutôt de "cuisiner" (du nom de la commande "bake") du code : création des actions C.R.U.D., des modèles de base, des vues basiques pour un seul but : la productivité et la rapidité permettant ainsi de se concentrer sur les actions "importantes" de vos applications plus que sur des tâches basiques maintes fois répétées.

Bien qu'étant moins connu en France que Symfony par exemple, CakePHP reste un des frameworks PHP ayant la plus grosse communauté (active) dans le monde. Souvent cité comme le juste milieu entre le moins complet mais plus flexible CodeIgniter et le très complet mais un peu plus long à prendre en main Symfony, CakePHP a su se faire un nom au point qu'aujourd'hui, de nombreux gros projets l'utilisent. On pense notamment à Mozilla Addons le site d'extensions de Firefox, l'un des sites les plus visités du web, Cake restant totalement accessible à des projets de taille plus modeste. Mais malgré ses nombreuses qualités, la version 1.3.X du framework souffrait de quelques défauts qui ont été corrigés dans cette version 2.0.

Les nouveautés ? Nouvelle recette ? Ou simple assaisonnement ?



Au vu de ce qu'a pu faire Sensio Labs avec Symfony, on aurait pu attendre de CakePHP une quasi refonte du code, il n'en est rien puisque cette nouvelle fournée est davantage une (bonne) évolution qu'une révolution. Quelques changements majeurs sont néanmoins à noter.

PHP est mort ! Vive PHP


Image utilisateur
Parmi ceux-ci, le changement principal est l'abandon total du support de PHP 4. Le reproche majeur qui était fait à CakePHP jusqu'alors était sa compatibilité avec PHP 4 expliquée par une volonté de toucher "tous les publics et tous les hébergeurs ". Malheureusement, ce choix de développement avait des conséquences sur la lourdeur et la rapidité d’exécution du code. Dorénavant, CakePHP est uniquement compatible avec les versions supérieures ou égales à PHP 5.2. Néanmoins, sachez qu'à l'heure où je vous parle les versions 5.3+ PHP et leurs fameux namespaces et lambdas, ne sont toujours pas complètement supportées par le framework.

Bien que le choix de non support de 5.3+ soit surprenant (mais sûrement là aussi expliqué par des contraintes d'hébergeurs), la core-team s'est dite ouverte à un passage sur 5.3. Comme le prouve une autre nouveauté puisqu'il y a eu un remaniement des conventions en vue de préparer un passage à PHP 5.3+. Ainsi, fini les "underscore", place maintenant au "CamelCase" ainsi votre_super_controller.php deviendra VotreSuperController.php. Autre exemple des nouvelles conventions: les helper ou components par exemple se verront clairement identifiés. Ainsi, un helper : Form.php deviendra désormais FormHelper.php (respect des normes PSR-0 pour les puristes).


Une nouvelle arborescence pour plus de performances


Image utilisateur

Ce n'est pas tout au niveau des conventions, l'arborescence a également été revue. De l’aveu même des développeurs, jusqu'alors la manière dont les fichiers et les dossiers étaient organisés n'était pas assez strict et surtout, elle n'était pas spécialement tout le temps logique. Par exemple l'app_controller (controller des controllers) pouvait se trouver à la racine de l'app. Dorénavant, celui-ci se doit de se trouver avec les autres controllers dans le dossier consacré. Si ces exemples peuvent paraître anodins, ils ont permis une amélioration sensible des performances du framework puisque désormais certaines classes peuvent être chargées automatiquement. Ainsi, tous les dossiers contenant des classes sont CamelCase pendant que ceux n'en contenant pas (webroot, config etc...) restent lowcase, tout ça en vue d'implanter les namespaces prochainement (chaque dossier représentant un niveau dans la hierarchie des namespaces). Mais le chapitre performance va plus loin, puisque désormais quasiment tout utilise le Lazy-Loading. La différence de performances entre les versions 1.3 et 2.0 est donc au final assez phénoménale, faisant de Cake 2 un framework bien plus rapide que son ancêtre. En moyenne, on observe une amélioration de l'ordre de minimum 50 % vis à vis des versions 1.3.



Un framework tourné vers l'avenir ?


Au delà de l'aspect performance, Cake 2.0 a voulu se tourner davantage vers l'avenir. Ainsi, certaines caractéristiques auparavant optionnelles deviennent désormais natives, par exemple l'utilisation de PDO ou de SPL. Dans le même registre, le support de PostgreSql, SQLite ou encore SqlServer a été largement amélioré, rendant leur utilisation bien moins buguée qu'auparavant et les mettant au même rang que MySQL quant à leur compatibilité.

Autre (très) bonne nouvelle est qu'il est désormais possible d'introduire ses propres objets pour qu'ils agissent comme des librairies de CakePHP (comme des behaviors, des helpers etc...), il devient ainsi bien plus simple de modifier le coeur de CakePHP rendant le core de celui-ci totalement customizable avec des éléments d'autres frameworks par exemple. Parmi d'autres ajouts et pour parler davantage aux connaisseurs du framework, on notera également la refonte du RequestHandler (désormais CakeRequest) afin de mieux gérer les requêtes HTTP ou la réécriture totale de l'AuthComponent ou encore la création d'un objet statique CakeEmail permettant d'envoyer plus simplement des mails via CakePHP (sans passer par un composant)


Voyons par exemple l'édition d'un "post" sur un blog. Pour cela on va chercher à créer l'action edit() dans le PostsController

Sous Cake 1.3

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<?php
function edit($id = null) {
	$this->Post->id = $id;
	if (empty($this->data)) {
		$this->data = $this->Post->read();
	} else {
		if ($this->Post->save($this->data)) {
			$this->Session->setFlash('Your post has been updated.');
			$this->redirect(array('action' => 'index'));
		}
	}
}


Sous Cake 2.0 (avec CakeRequest)

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<?php
function edit($id = null) {
    $this->Post->id = $id;
    if ($this->request->is('get')) {
        $this->request->data = $this->Post->read();
    } else {
        if ($this->Post->save($this->request->data)) {
            $this->Session->setFlash('Your post has been updated.');
            $this->redirect(array('action' => 'index'));
        }
    }
}


La nouvelle classe CakeRequest intègre les paramètres et fonctions liés aux requêtes entrantes. Embarquant ainsi plusieurs caractéristiques que l'on retrouvait dans le RequestHandler ou le Dispatcher. CakeRequest permet donc en gros de passer vos informations par un objet (Request en l'occurence) mais également, si vous le souhaitez, de détecter les conditions des requêtes :

Code : PHP
1
2
3
<?php
$this->request->is('post');
$this->request->isPost();

NDLR : Les 2 méthodes ont la même valeur.

Ainsi, si la variable est appelée en post, Cake suppose que des variables ont été passées rendant par exemple inutiles certaines vérification avec empty. Evidemment, il existe différent type tel que is('get') (voir si la requête est un GET), is('delete'), is('mobile') (pour voir si la requête vient d'un terminal mobile) et bien d'autres dont vous trouverez la liste sur la doc officielle.

Il est même possible grâce à l'API de CakeRequest, de créer vous même vos propres "détecteurs". Pour cela, il suffit d'utiliser CakeRequest::addDetector($name, $callback). Ainsi, imaginons que vous souhaitiez utiliser une action spéciale pour les utilisateurs d'iphone

Code : Cake
1
$this->request->addDetector('iphone', array('env' => 'HTTP_USER_AGENT', 'pattern' => '/iPhone/i'));


Plusieurs options sont disponibles et je vous renvoie là aussi vers la documentation officielle.

Image utilisateur

Mais l'une des plus grandes nouveautés est peut être ce plugin, amené à devenir (on l'espère) partie intégrante du DataSource de CakePHP. Développé par Jose Lorenzo Rodriguez (développeur de la Core-Team) MongoCake est un plugin, qui en plus d'intégrer MongoDB à la solution, permet d'utiliser Doctrine avec CakePHP et donc de renvoyer des objets et non plus de simples arrays par les modèles. C'est peut être une des plus grosses nouveautés semi-officielles de cette sortie puisqu'elle corrigerait l'un des sujets préférés des détracteurs de Cake : son ORM. Si aujourd'hui le plugin reste à l'état de semi-officiel, pas intégré de base mais développé par la Core-Team, le fait que l'équipe de CakePHP communique dessus laisse présager à moyen-terme une intégration native de l'ODM de Doctrine (+MongoDB) à CakePHP tout en laissant le choix de l'utiliser ou non. Position appréciable quand on sait que Doctrine est parfois un frein pour l'apprentissage de Sf, mais qu'il s'agit en même temps d'un formidable outil. En effet, à la manière de l'ORM de Doctrine, l'ODM permet la transparence persistante pour les objets en PHP 5.3+ sauf qu'à la place d'EntityManager (avec l'ORM), vous utilisez le DocumentManager. Une manière ludique et transparente de passer à NoSQL en utilisant Doctrine et CakePHP.



Conclusion



Avec cette nouvelle version CakePHP frappe un grand coup. Moins "magique", plus "logique", (bien) plus performante, cette mouture 2.0 de CakePHP est définitivement une réussite. On aurait aimé avoir un système de callback peut être mieux pensé et le fait que PHP 5.3+ ne soit pas supporté reste le (gros) point noir de cette version. Néanmoins, tout porte à croire que, très prochainement, le passage s'effectuera (probablement pour CakePHP 3 -info soutirée à la Core-Team-) en attendant Cake 2 est une vraie avancée, messieurs (et mesdames) les zéros, à vos fourneaux !

Sources


29 Participations

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page 1 
Pseudo Discussion
1 visiteur sur cette news (0 membre et 1 Anonyme)
Page 1 
Hors ligne Atbbkaugust # Posté le 21/10/2011 à 07:30:23
ceci est une citation
Avatar

Ville : Saint geours de maremne
Pays : France métropolitaine

Super news, je ne connaissais pas ce framework mais il m'a l'air intéressant.
 
Hors ligne ThePatriote62 # Posté le 21/10/2011 à 08:21:56
Avatar

Excellente news très bien faites ;)

Dommage que je ne fais plus de codage de site web :D

Manque plus qu'un tutoriel sur le sdz pour que ce soit parfait.
J'espère que le celui qui a écrit la news va le faire :p

Ok, je sors ... :-°
Hors ligne Grayox # Posté le 21/10/2011 à 08:45:52
On télécharge où l'ADSL?
Avatar

Ville : Fribourg
Pays : Suisse

Bonne news!

Pour avoir testé la version 1.3 de CakePHP, c'est un excellent framework. Rapide, et surtout très facile à prendre en main :)

Il y avait un tuto CakePHP mais apparemment il n'est plus... pourquoi?

Si jamais là, tu es en train de lire ma signature :-°
 
Hors ligne lolteur # Posté le 21/10/2011 à 09:19:41
Avatar

Snakehead et Bourdais6 sont en train de faire un tuto sur CakePHP : http://www.siteduzero.com/forum-83-654 [...] omagique.html
 
Hors ligne tippex95 # Posté le 21/10/2011 à 09:48:30
Avatar

j'adore ce framework je l'utilise chaque jour, dommage qu'il soit pas très connu
Hors ligne Cryde # Posté le 21/10/2011 à 11:19:42
Mouhahahahaha
Avatar

Études : Université Libre de Bruxelles (ULB)

Ca ressemble quand même un peu à Symfony2 je trouve :)

Découvrez Music-All, n'hésitez pas à commenter le projet ici : topic du project
 
Hors ligne frezi # Posté le 21/10/2011 à 11:50:24
Linux un jour, Linux toujours
Avatar

Ville : La louvière
Pays : Belgique
Études : Université Libre de Bruxelles (ULB)

2 à la suite :) Pour la news, merci de l'avoir posté :)

Image utilisateur

 
Hors ligne MaTxX # Posté le 21/10/2011 à 13:08:54

Nice news.

Pour ceux qui veulent un tuto de prise en main du framework, il y a un sur le site officiel : le CookBook.
Il est très bien fait pour les versions 1.x mais reste assez léger pour l'instant pour la version 2 (j'imagine qu'ils vont travailler dessus).

Il arrivera peut être que vous ayez des choses complexes à faire et là, il faut expérimenter par soit même et utiliser notre bon ami Google.
J'ai souvent utilisé aussi le blog très bien fait de Pierre-Emmanuel Fringant aka 'Kalt' : http://www.formation-cakephp.com/

<BDD>T'as pensé à nous protéger ?
<PDO>TkT chérie, j'ai pensé à tout.
###################### PDO : L'essayer, c'est l'adopter !!! ######################
N'oubliez pas d'indiquer que votre problème est résolu Image utilisateur lorque tel est le cas, merci.

 
Hors ligne Trivane # Posté le 21/10/2011 à 13:44:32
Someone Like You
Avatar

Ville : Wattrelos
Pays : France métropolitaine

J'ai testé Cake il y a quelques années, à une époque où il y avait un tuto dessus ici.
Je trouvais ça pluton pas mal, j'aimais surtout le côté "automagique" des conventions.
Depuis je suis passé à Symfony2 et maintenant que je le maîtrise je trouve après un petit tour des fonctionnalités de Cake2 qu'il manque quelque chose pour en faire un vrai concurrent...
Il manque une cohésion globale que j'adore chez Sf2.
Par exemple les formBuilders qui communiquent avec les validators qui communiquent avec les classes Doctrines qui communiquent avec les autres services, etc...

Bref je le surveillerai de près grâce à cette news, j'espère qu'ils abandonneront rapidement leur position concernant Php 5.3 car mine de rien les namespaces sont très très utiles ! :)
Hors ligne ThePooh # Posté le 21/10/2011 à 15:18:33
Luxe, Calme, Volupté
Avatar

Citation
Il manque une cohésion globale que j'adore chez Sf2.

Avec les normes PSR-0 les nouvelles conventions etc...c'est bien plus cohérent (maintenant les modèles communiquent seuls entre eux, la moindre des choses)

Citation : Trivane

Bref je le surveillerai de près grâce à cette news, j'espère qu'ils abandonneront rapidement leur position concernant Php 5.3 car mine de rien les namespaces sont très très utiles ! :)


D'après mes informations (fiables vu que c'est un mec de la core team) c'est prévu pour Cake 3. J'adore ce framework mais je comprendrais jamais cette position, leurs arguments se tiennent (c'est vrai qu'aux états unis il y a encore des hébergeurs qui sont pas à la 5.3 même des "connus") mais ça fait quand même très arriéré...

Neetcafe.com (Twitter - Neet.Blog) - YouTube (Mes AMVs)
Développeur / SEO / Graphiste / Otaku
Addicted to : CakePHP - MongoDB - Node.JS - Redis - Python
Neetcafe <3 Open-Source : Cake-Resque Our CakePHP plugin to manage queue using Redis + Resque
Clair-et-Net éleveur de pixels !
 
Hors ligne skoua # Posté le 21/10/2011 à 15:57:10
Avatar

Selon vous, ça vaut le coup d'apprendre CakePHP plutôt que de prendre un peu plus de temps et apprendre Symfony 2 ?
Hors ligne Trivane # Posté le 21/10/2011 à 17:41:07
Someone Like You
Avatar

Ville : Wattrelos
Pays : France métropolitaine

Citation : ThePooh
J'adore ce framework mais je comprendrais jamais cette position, leurs arguments se tiennent (c'est vrai qu'aux états unis il y a encore des hébergeurs qui sont pas à la 5.3 même des "connus") mais ça fait quand même très arriéré...

Même en France, il suffit que tu utilises un panel comme Plesk et tu es sous 5.2 ou moins généralement... de même pour le mutualisé.
Mais concrètement, en général ce type de framework amène une obligation de modifier sa config, compiler ses sources pour php... dans 90% des cas...
Donc ce problème n'en est pas un parce que de là si tu es obligé de faire toutes ces modifs tu peux bien choisir ta version...
Hors ligne Pic-Sou # Posté le 21/10/2011 à 18:19:33
C++ mi amor !
Avatar

\o/ Le titre est génial !

Je sens que je vais attaquer le gâteau, moi... ^^

  • Sujet résolu ? Passez au vert.
  • Non au langage SMS et aux fautes volontaires sur les forums !
  • Piège à robots | NON aux racketiciels | Stop ACTA
  • La théorie, c'est quand ça marche pas et qu'on sait pourquoi. La pratique, c'est quand ça marche sans qu'on sache pourquoi. Quand la théorie rejoint la pratque, ça marche pas sans qu'on sache pourquoi !

 
Hors ligne ThePooh # Posté le 21/10/2011 à 19:52:47
Luxe, Calme, Volupté
Avatar

Citation : Trivane

Donc ce problème n'en est pas un parce que de là si tu es obligé de faire toutes ces modifs tu peux bien choisir ta version...


Pour toi et moi ça en est pas un :p , mais les frameworks ne sont pas destinés qu'à des projets amateurs pour des connaisseurs sous unix. Parfois tu as des clients qui ont déjà payés un hébergement (genre 1and1 toujours en 5.2.17 il me semble) et qui veulent un truc clé en main, je t'assure que t'es obligé de composer avec ça. Après je défend pas cette solution (bien au contraire) mais à défaut je la comprends, surtout connaissant le marché anglo-saxon (plus que le français je pense xD) où tu n'as pas de gros leader comme OVH. Hostgator, Hostmonster, DreamHost et tant d'autres ne supportent pas 5.3 et faut savoir que chez nos amis hamburgers vu les offres mutualisées (5,6 € pour tout illimité...) le passage aux VPS et/ou dédié ne se fait que peu et surtout les prix sont hors d'atteinte. L'équivalent d'un kimsufi à 18 € la bas c'est dans les 45 € mini...Du coup tu as énormément de gens sur mutualisés...

Citation : skoua
Selon vous, ça vaut le coup d'apprendre CakePHP plutôt que de prendre un peu plus de temps et apprendre Symfony 2 ?


A toi de voir avec quel framework tu te sens le plus à l'aise, c'est surtout ça le plus important. Cake est plus facile à prendre en main, Sf plus complet. Mais il n'y a rien que tu ne puisses pas faire avec Cake c'est juste une histoire de confort, jeuxonline ou gamers.fr s'en sortent très bien avec cake. Dans les 2 cas les communautés sont très importantes, Sf (cocorico et merci sensio labs) a une forte communauté en France qui vampirise presque tous les autres frameworks du coup tu trouveras beaucoup de ressources en français. A l'échelle mondiale c'est bien moins évident (le pire étant pour CI et Cake très peu utilisés en France mais qui sont parmi les plus utilisés aux EU), pour Cake il te faudra une bonne maîtrise de l'anglais, les ressources sont excessivement nombreuses mais pour beaucoup en anglais à toi de voir, juste une histoire de confort.

Neetcafe.com (Twitter - Neet.Blog) - YouTube (Mes AMVs)
Développeur / SEO / Graphiste / Otaku
Addicted to : CakePHP - MongoDB - Node.JS - Redis - Python
Neetcafe <3 Open-Source : Cake-Resque Our CakePHP plugin to manage queue using Redis + Resque
Clair-et-Net éleveur de pixels !
 
Hors ligne planete.game57 # Posté le 21/10/2011 à 22:48:02
Avatar

Études : IRIS

Je fais pas mal de PHP et je pense qu’il faudra me mettre un jour sur un framework pour avoir un site robuste bien structuré, avec la sécurité qui va bien derrière ainsi qu'une tenue de charge correcte.
Pour débuter rapidement sur un framework, il semble souvent conseillé CakePHP, d’ailleurs même Grafikart l’utilise en permanence pour ces tutoriels, merci pour cette news hyper détaillée, je vais sans doute y songer à m’y mettre. ;)
En tout cas, elle donne envie de se lancer. ^^

xHTML/CSS |||||||||| 100% | PHP/MySQL |||||||||| 100% | Langage C |||||||||| 8.5%
Python |||||||||| 100% | JavaScript |||||||||| 5.5% | Photoshop |||||||||| 0.0%
Smarty |||||||||| 100%

Image utilisateurImage utilisateur
 
Hors ligne xiphonezz # Posté le 21/10/2011 à 23:15:13 Commentaire supprimé pour le motif suivant : Message complètement hors sujet.
Hors ligne Amatewasu # Posté le 22/10/2011 à 01:09:20
Avatar

Ville : Retiers
Pays : France métropolitaine

News d'une grande qualité.

La différence de performance entre la v1.3 et la v2 est énorme !
 
Hors ligne ThePooh # Posté le 22/10/2011 à 04:08:25
Luxe, Calme, Volupté
Avatar

En parlant de performance, sur mon projet actuel j'avais réalisé un benchmark (sur Cake 1.3 vs Cake 2.0) vous trouverez le benchmark sur ce billet du blog de neetcafe.

Alors c'est un gros projet qui load énormément de modèles (conceptuellement imaginez une sorte d'imdb) donc forcement les résultats sont encore plus impressionnants (presque 400 % vis à vis de Cake 1.3).

Souvent les benchmark se font sur des simples cas théoriques dont parfois on peut douter un peu de la légitimité (afficher des Hello world!) bon là ça peut donner une idée sur une appli avec des données réelles, même page avec juste upgrade du framework.

Neetcafe.com (Twitter - Neet.Blog) - YouTube (Mes AMVs)
Développeur / SEO / Graphiste / Otaku
Addicted to : CakePHP - MongoDB - Node.JS - Redis - Python
Neetcafe <3 Open-Source : Cake-Resque Our CakePHP plugin to manage queue using Redis + Resque
Clair-et-Net éleveur de pixels !
 
Hors ligne MKettouch # Posté le 22/10/2011 à 14:17:22
:)
Avatar

Ville : Skikda
Pays : Algérie

super news ,
mais je vois que les nouvelle version des Frameworks rassemble beaucoup au moins syntaxiquement .

It's never too late to do the right thing.

Image utilisateurImage utilisateur
 
Hors ligne Trias # Posté le 22/10/2011 à 15:24:59
Avatar
Flux RSS

Ce n'est pas pour troller, mais le site Mozilla Addons a migré vers Django: http://micropipes.com/blog/2009/11/17/ [...] nges-in-2010/

Le monde des frameworks PHP est très concurrentiel mais un peu d'inovation ne peut faire de mal.

L'homme sait faire le pire comme le meilleur mais c'est pour faire le pire qu'il est le meilleur.
 
Hors ligne ThePooh # Posté le 22/10/2011 à 15:53:29
Luxe, Calme, Volupté
Avatar

Citation : Trias
Ce n'est pas pour troller, mais le site Mozilla Addons a migré vers Django: http://micropipes.com/blog/2009/11/17/ [...] nges-in-2010/

Le monde des frameworks PHP est très concurrentiel mais un peu d'inovation ne peut faire de mal.


Ce n'est pas un troll mais une (bonne) précision, mais disons que cela ne change rien mozilla addons a tourné pendant des années sur cakephp et la migration s'est faite sur un autre langage. Autrement dit si mozilla a pu (changeons de temps) tourner sous cake les projets de 99,99 % de la population peuvent tourner dessus.

L'innovation reste quand même légère disons que c'est plus une mise à niveau, perso je vois en cette 2.0 ce qu'aurait été une 1.3 parfaite.

Neetcafe.com (Twitter - Neet.Blog) - YouTube (Mes AMVs)
Développeur / SEO / Graphiste / Otaku
Addicted to : CakePHP - MongoDB - Node.JS - Redis - Python
Neetcafe <3 Open-Source : Cake-Resque Our CakePHP plugin to manage queue using Redis + Resque
Clair-et-Net éleveur de pixels !
 
Hors ligne winzou # Posté le 22/10/2011 à 16:05:39
lala
Avatar
Modérateurs

Ville : Singapour
Pays : Singapour
Études : Ecole Centrale de Lyon

Est-ce que je suis le seul à trouver la syntaxe vraiment pas très sexy ? Les $this->Post et $this->date sortent de nul part.
L'intégration de Doctrine (ou autre Propel par exemple même si ce n'est pas cité) peut être une très bonne chose, parce que sans gestion bdd digne de ce nom, pas évident de faire des trucs propres sous Cake.

Un tutoriel pour débuter avec le framework Symfony2.
Chapitre en beta-test : Déployer son site Symfony2 en production, donnez vos avis !

Je recherche toujours quelqu'un capable de faire des icônes sympas pour les chapitres du tutoriel, contactez-moi, merci !
 
Hors ligne Hayaxx # Posté le 22/10/2011 à 17:09:01
Développer couché !
Avatar
Flux RSS

Ville : Angers
Pays : France métropolitaine

CakePHP était déjà un excellent framework, cette version est une bombe !

Citation : winzou
Est-ce que je suis le seul à trouver la syntaxe vraiment pas très sexy ? Les $this->Post et $this->date sortent de nul part.

En fait Cake utilise le camelCase mais un peu détourné, les variables qui sont des objets commencent par une majuscule, comme les noms de classe ;)
 
Hors ligne AporieDramatique # Posté le 26/10/2011 à 09:13:06
Groupe : Aigris++.
Groupe : Bannis

C'est intéressant, mais je ne trouve pas le code présenté élégant du tout. A priori, dans une même fonction (edit) tu mets des choses complètement différentes — et d'un autre côté je ne suis pas sûr que le framework t'incite vraiment à faire autrement. Il me semble qu'avec un mécanisme de services (ou ce "CakeRequest") plus efficace on s'en tirerait mieux. Je trouve également douteux de jouer comme ça sur la valeur null.

Enfin, le this->request partout n'est pas très beau non plus. Mais je crois que c'est lié à des contraintes de design de PHP, qui n'a pas de vraie notion de modules.

Au final, on a un code assez impératif pour faire quelque chose qui gagnerait à être fait de façon déclarative. Ça ne ressemble pas à un pas en avant — de manière générale, on a plutôt l'impression que les frameworks PHP cherchent à tout prix à combler les lacunes du langage, et s'obstinent à refuser l'évolution.

(Concernant les ORM, ça pue la plupart du temps mais on n'en est plus là, et sur des modèles simples ça me semble acceptable.)

 
Hors ligne ThePooh # Posté le 27/10/2011 à 03:30:41
Luxe, Calme, Volupté
Avatar

Citation : CSharpTrueFan

Au final, on a un code assez impératif pour faire quelque chose qui gagnerait à être fait de façon déclarative. Ça ne ressemble pas à un pas en avant — de manière générale, on a plutôt l'impression que les frameworks PHP cherchent à tout prix à combler les lacunes du langage, et s'obstinent à refuser l'évolution.


L'évolution vers ? PHP est un langage à part (salut les 20.000 options de compilation conditionnels...) l'évolution est pas toujours aussi aisée qu'on voudrait tout simplement à cause de l'absence d'un certains professionnalisme et trop d'amateurisme, peut être un détails mais par exemple toujours pas de dépot GIT de PHP (en cours mais quand même)...Ou l'abandon de la version 6 fin c'est des trucs pas sérieux pour un langage avec une telle popularité. Donc c'est pas vraiment eux qui refusent l'évolution PHP est un langage sans ligne directrice, sans même vrai lead developper tu sais pas trop où tu vas ça reste très amateur. On t'annonce des trucs sans savoir qui te l'a annoncé, pourquoi, comment qui il a consulté pour ça...

Et oui les frameworks sont des caches merdes (on peut le dire comme ça :p).

Neetcafe.com (Twitter - Neet.Blog) - YouTube (Mes AMVs)
Développeur / SEO / Graphiste / Otaku
Addicted to : CakePHP - MongoDB - Node.JS - Redis - Python
Neetcafe <3 Open-Source : Cake-Resque Our CakePHP plugin to manage queue using Redis + Resque
Clair-et-Net éleveur de pixels !
 
Hors ligne AporieDramatique # Posté le 27/10/2011 à 09:02:54
Groupe : Aigris++.
Groupe : Bannis

Oui ça je m'en rends bien compte. Mais pourquoi continuer à utiliser PHP alors ?

 
Hors ligne ThePooh # Posté le 27/10/2011 à 19:01:43
Luxe, Calme, Volupté
Avatar

Désolé pour mon dernier message qui a une ponctuation (et orthographe)...fluctuante (il était tard).

Bah disons que c'est comme avec ta copine, elle a tous les défauts du monde mais tu n'as pas spécialement envie de changer (je parle pas dans mon cas précis).

PHP a aussi des avantages, c'est un projet maintenant mature, avec une grosse communauté et une quantité de ressources juste ahurissante. Il faut également penser au coût, il est beaucoup plus simple de trouver des développeurs PHP pour aider sur un projet que d'aller chercher des mecs qui sont sur Django / ROR. Car si quelqu'un venant de Python ou Ruby n'a normalement pas de gros soucis avec PHP, l'inverse est beaucoup moins vrai.

Neetcafe.com (Twitter - Neet.Blog) - YouTube (Mes AMVs)
Développeur / SEO / Graphiste / Otaku
Addicted to : CakePHP - MongoDB - Node.JS - Redis - Python
Neetcafe <3 Open-Source : Cake-Resque Our CakePHP plugin to manage queue using Redis + Resque
Clair-et-Net éleveur de pixels !
 
Hors ligne AporieDramatique # Posté le 28/10/2011 à 11:49:28
Groupe : Aigris++.
Groupe : Bannis

C'est intellectuellement peu satisfaisant.

 
Hors ligne MaTxX # Posté le 03/11/2011 à 08:18:13

Est-ce que la version 2 possède un moteur de template ?

<BDD>T'as pensé à nous protéger ?
<PDO>TkT chérie, j'ai pensé à tout.
###################### PDO : L'essayer, c'est l'adopter !!! ######################
N'oubliez pas d'indiquer que votre problème est résolu Image utilisateur lorque tel est le cas, merci.

 
Pour accéder à cette section
Connectez-vous !
connexion_rpx

Revenir à la liste des news

Lire aussi