Bonjour.

Je débute avec les frameworks PHP. J'ai donc commencé avec CakePHP qui me plaît déjà (mais je n'en ai jamais essayé d'autres, comme Symfony.

Les questions qui me viennent alors à l'esprit sont :

  • J'ai commencé avec CakePHP, devrais-je arrêter pour un autre framework ou "m'expertiser" avec ce framework n'est pas un problème pour la suite?
  • Contrairement à Symfony, CakePHP n'embarque pas de moteur de template avec lui. Si je souhaite en utiliser un à tout prix, puis-je ajouter Twig (par exemple) à CakePHP ou alors vaut mieux-t-il directement utiliser Symfony ?
  • Quels sont les intérêts d'avoir un moteur de template avec CakePHP, à l'exception de la séparation code PHP/HTML pour l'intégrateur ?

Merci beaucoup

7 réponses


Vallyan
Réponse acceptée

Salut Lyks,

Nativement, cake n'a pas de moteur de template. Grafikart te dirait qu'il n'y voit pas d'intéret puisque PHP est déja, en quelques sort, un moteur de template (cf. son dernier live).

Perso je ne suis pas sur d’être d'accord avec lui, et je les trouves plutôt pas mal ... twig en particulier est réputé, basé sur la syntaxe de Django il me semble. Par contre pour le mec qui arrive sur symfony2 et qui découvre, c'est clair qu'il y a beaucoup a apprendre d'un coup (le framework en lui-même, le moteur de template, Doctrine ...

  • Je ne connais pas ton niveau en PHP, mais je doute que tu te sentes limité par cake vu que tu as l'air de débuter sur les frameworks. Passer a sf2 simplement parce que c'est la mode n'est sans doute pas une raison valable, a moins que tu ne vises plus tard a te faire employer (sf2 est alors plus "vendeur" que cake). D'un autre coté visiter plusieurs types des framework est sans doute une bonne idée pour te forger ta propre opinion quant a tes préférences, et choisir en connaissance de cause son framework de prédilection

  • Tu peux installer twig avec cake, ce n'est pas un probleme. Twig était la avant sf2, il est fait pour fonctionner avec n'importe quelle structure PHP. Tu peux regarder ici par exemple.

  • L'intéret d'avoir un TE avec cake est le meme que celui d'en avoir un avec n'importe quelle structure ou framework. Certains aiment, d'autres détestent... Par contre je ne suis pas tellement d'accord pour dire qu'il y a plus de séparation PHP/HTML avec ce système (s'il faut faire une boucle, il faut faire une boucle ... une condition reste une condition ... bref c'est pas parce que le langage change que c'est différent). Parmi les avantages: clarté/visibilité du code, filtres de base, possibilité de fair etes properes filtres ... parmi les inconvénients: learning curve, nécéssité de cacher en prod / lenteur relative en dev...

Les TE c'est un choix perso. Meme sf2 ne les impose pas, tu peux tres bien faire du PHP dans tes vues

Bonsoir.
Qu'appelles-tu un moteur de templates exactement ?
Car j'avoue que je ne connais pas Symfony, mais tu peux utiliser plusieurs Layouts ou Templates sur CakePHP, tu n'as pas du lire les principales fonctionnalités de CakePHP.
Par contre si tu veux parler d'automatisation pour la sélection des templates sans avoir à coder le système, CakePHP ne le permet pas dans sa structure de base, étant donné que CakePHP est un Framework et non un CMS, en conséquence, il est fait pour que tu crées ta propre application Web.
Sinon, tu peux utilier le CMS Croogo qui est basé et codé sur CakePHP et qui as un système de templates, par contre, il te faut créer toi même tes templates vu que le CMS Croogo n'a que très peu de ressources, mais tu trouveras la doc nécessaire sur le site.

Lyks
Auteur

Je pense que vous avez bien répondu à mes questions.

Merci beaucoup à vous deux, j'y vois assez clair maintenant. :p

Symfony est plus vendeur, car il est bien plus courant dans le monde du travail?
Mais CakePHP ne l'est-il pas? Et avec sa nouvelle version, il rattrape la concurrence non?

En terme de demande des employeurs, sf2 ou zend tendent a tenir le haut du pavé, bien plus que cake. Regarde ici par exemple, rien que les deux premiers commentaires:
http://www.linkedin.com/groups/Which-framework-php-is-most-87251.S.113916943.

La nouvelle version de cake qui intègre enfin les derniers concepts de POO, namespace et autres le fera peut-être remonter, mais je doute un peu qu'il rattrape la concurrence. Il n'apporte rien de plus vraiment en termes de performance et le "coût" d'un changement de technologie pour une boite de dev ne serait sans doute pas rentable... Peut-etre que des trucs comme phalcon (supposément hyper rapide) pourraient mais cake, je ne pense pas.

Quoiqu'il en soit cela n’enlève rien a la qualité de cake ... encore une fois je ne suis pas sur que tu te retrouves limité par le framework lui-même, quel qu'il soit.

@Vallyan

Perso je ne suis pas sur d’être d'accord avec lui

Si tu parles de moi, en quoi tu n'es pas d'accord avec moi ?
Ensuite, tu dénigre CakePHP car tu ne le connais pas bien, tu devrais éviter de faire ça.
Rien qu'à te lire, on voit de suite que tu utilises Symfony, d'où le fait que tu fasses des éloges pour ce Framework.
Tu devrais éviter d'imposer tes préférences sans connaître les attentes des autres personnes.
Surtout que tu te trompe sur le fait que la future version de CakePHP (la 3) n'apportera pas d'amélioration au niveau des performances du Framework, bien au contraire.

M'aurait étonné que le petit hargneux ne monte pas au créneau !

Alors:

  • Je ne suis pas sur d’être accord avec <u>Grafikart</u>, sur le fait que les TE sont inutiles. Le monde ne tourne pas autour de ta personne, je ne parlais pas de toi. Le fait que je parle de Grafikart dans ma phrase précédente aurait pu te mettre sur la voie ...

  • Je ne cache pas que je connais mieux sf2 que cakePHP, mais a aucun moment je ne dénigre cake. Je te mets au défi de me citer. D'ailleurs le seul moment ou je parle de cake en terme de valeur, je dis:

    Quoiqu'il en soit cela n’enlève rien a la qualité de cake

De la même manière je ne fais aucune éloge de sf2 (pareil: cite-moi ...). Je dis d'ailleurs:

Passer a sf2 simplement parce que c'est la mode n'est sans doute pas une raison valable
  • Je n'impose pas mes préférences en termes de framework, je réponds a une question sur ce qu'est un Template Engine. Je donne le pour et le contre d'un TE, je prends twig comme exemple puisque la question de départ concerne twig, j'explique qu'il peut etre utilisé ou non avec sf2 comme avec cakePHP, et je fini par dire que c'est une question de gout personnel et qu'il faut tester. Je n’influence pas sur l'utilisation de Twig, encore moins sur celle de sf2.

  • Quand je dis que cake ne rattrapera sans doute pas les autres frameworks, je parle de leur prévalence dans le domaine du développement web professionnel, aucunement de performances de la v3 par rapport a la v2. Je dis que je doute que cake v3 soit beaucoup plus puissant que sf2 et justifie un transfert de l'une vers l'autre tes technologies. Encore une fois le contexte de ma phrase (c'est a dire tout mon post, en l'occurence) aurait-pu t'aider a ne pas te planter lamentablement dans le compréhension de ce que j'explique.

Enfin puisque cela semble être au cœur de ton courroux, le fait que zend et sf2 soient les frameworks les plus demandés par les boites de développement est un fait, faut pas m'en vouloir pour ca. Grafikart est d'ailleurs le premier a le dire dans son live, il me semble. C'est forcément quelque chose a prendre en compte pour certains (qui veulent intégrer une boite de dev), alors que pour d'autres (freelancers par exemple) cela n'a pas d'importance et le feeling global sur le framework compte plus ... et donc c'est aussi un aspect que j'aborde par soucis d'objectivité.

Relax un peu, arrête de partir en croisade contre tout et n'importe quoi comme un gros bourrin, apprends a lire et a réfléchir avant d'essayer d'imaginer que le monde est contre toi, ou de te sentir agressé dès qu'on ne dit pas que cakePHP est le meilleur framework au monde. Je n'ai absolument rien contre cakePHP que je ne connais pas tellement, et remarque bien je n'ai pas grand chose pour sf2 que je connais un peu, non plus ... je me fiche pas mal de qui code en quoi -__-'

sf2 je connais pas mais quand on voit que zend est la fondation de magento, on comprend pourquoi ce framework est à la mode ;)

Apres je m'en fou, tuez vous :D