Comment choisir son framework: sommaire

Introduction
Depuis quelques années, nous avons vu se developper sur notre plateforme php de nombreux frameworks.
Le plus difficile aujourd’hui est de choisir parmi eux.
Jusque là, vous aviez à votre disposition un tableau comparatif: http://socialcompare.com…
Aujourd’hui grâce à l’initiative du site grafikart, vous avez une autre manière de comparer: le projet blogmvc.com (http://blogmvc.com)

Sommaire

Comment choisir son framework : view / layout – mkFramework

Introduction
Dans un précédent billet, je vous ai présenté l’initiative de grafikart: http://blog.developpez.com/ducodeetdulibre/p12482/outilsweb/comment-choisir-son-framework-php
Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework.

But de ce billet : MkFramework
Dans ce billet, nous allons essayer de comprendre comment s’organise la création de page avec chaque framework:
Pour rappel, dans un site web, on à un template général, appelé « layout », qui contient notre bandeau/logo, nos menus de navigation ainsi qu’une partie dynamique: le contenu de notre site.
Nous allons voir ici, comment ont choisi le layout à utiliser (on peut en avoir plusieurs), puis comment on intègre la navigation, et comment on choisit quel template de vue utiliser pour l’affichage de notre contenu.

Voilà la page que nous allons étudier ici:
layoutViewSite

On peut voir 4 zones:

  • Le bandeau
  • La navigation des catégories
  • La navigation des derniers posts
  • Le contenu dynamique

layoutViewSite2

Le layout
Pour afficher la page d’accueil, on appelle la classe controller module_default:
/module/default/main.php
tree-module-default

controller
On voit ici que l’on instancie un objet layout « template1″, on voit également qu’il instancie deux modules, un pour les catégories et l’autre pour les derniers posts qu’il ajoute à l’emplacement « sidebar »
Voyons à quoi ce layout ressemble:
Pour information, il se situe ici:
/layout/template1.php
tree-layout-tpl1

layout

On retrouve ici le bandeau écrit directement dans le layout, un emplacement pour le contenu dynamique (qui contiendra le contenu) plus un autre pour la sidebar qui contiendra la navigation des catégories + celle des derniers posts

La/les vues
Lorsque l’on regarde l’action appelée pour afficher cette page d’accueil:
viewDefaultIndex
On voit que l’on assigne à l’emplacement « main » la vue retournée par le module posts.
Ce framework permet en effet d’appeler des modules « embedded », et de récupérer leur vues pour les imbriquer où bon nous semble.
Allons jetez un oeil à cette méthode _index() du module posts
tree-module-posts

postEmbeddedIndex
Ceci est un controller de module embarqué, on inclue pas uniquement une vue de ce module mais tout le module posts: ainsi si on clique sur le lien d’un post (de la liste), le module embarqué affichera naturellement le détail de celui-ci. (il est autonome)
Par défaut, on voit que le second argument est « list »: on affichera donc par défaut la liste des posts avec la méthode _list() du module en question.
Regardons à quoi celle-ci ressemble:
postEmbeddedList
Il instancie une vue post::lists, située ici :
/module/posts/view/list.php
tree-module-postViewList

postViewList

Revenons à la méthode before() qui permettait d’ajouter les catégories et les derniers posts.
Les modules categories et posts étant des modules « embedded », vous comprenez mieux maintenant l’inclusion des vues de ces modules à l’emplacement de la sidebar.
Voici le code de la méthode list du module embarqué categories, on voit ainsi comment est géré le cache du menu ;)
/module/categories/main.php
tree-module-categories

categoriesList

Retour au sommaire

Comment choisir son framework : view / layout – Kohana

Introduction
Dans un précédent billet, je vous ai présenté l’initiative de grafikart: http://blog.developpez.com/ducodeetdulibre/p12482/outilsweb/comment-choisir-son-framework-php
Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework.

But de ce billet : MkFramework
Dans ce billet, nous allons essayer de comprendre comment s’organise la création de page avec chaque framework:
Pour rappel, dans un site web, on à un template général, appelé « layout », qui contient notre bandeau/logo, nos menus de navigation ainsi qu’une partie dynamique: le contenu de notre site.
Nous allons voir ici, comment ont choisi le layout à utiliser (on peut en avoir plusieurs), puis comment on intègre la navigation, et comment on choisit quel template de vue utiliser pour l’affichage de notre contenu.

Voilà la page que nous allons étudier ici:
layoutViewSite

On peut voir 4 zones:

  • Le bandeau
  • La navigation des catégories
  • La navigation des derniers posts
  • Le contenu dynamique

layoutViewSite2

Le layout
Pour afficher la page d’accueil, on appelle la classe controller:
/application/classes/Controller/Posts.php
tree-controller-post

controllerLayout
On voit ici, que la propriété publique « template » indique le nom du layout « layouts/blog »
Voyons à quoi il ressemble:
Pour information, il se situe ici:
/application/views/layouts/blog.php
tree-layout

layout
On retrouve ici le bandeau écrit directement dans le layout, et un emplacement pour le contenu dynamique qui contiendra le contenu + la navigation des catégories + celle des derniers posts

La/les vues
Lorsque l’on regarde l’action appelée pour afficher cette page d’accueil:
controllerAction
On voit que l’on assigne au contenu la vue blog/index

On note également que la classe étend Controller_Template, une classe située ici:
/application/classes/Controller/Template.php
tree-classTemplate

Dans laquelle une méthode before() initialise « en global » les tableaux contenant les catégories et les derniers posts:
before
On voit également comment est géré l’affichage du cache de ce menu qui change rarement.

Revenons à notre vue blog/index, cette vue est situé ici:
/application/views/blog/index.php
tree-view-blogIndex

vueBlogIndex
On remarque que celle-cifait appel à la vue blog/posts et blog/sidebar
Qui permettront d’afficher la liste des posts et les deux navigations: catégories et derniers posts

Retour au sommaire

Comment choisir son framework : view / layout – zend framework 2

Introduction
Dans un précédent billet, je vous ai présenté l’initiative de grafikart: http://blog.developpez.com/ducodeetdulibre/p12482/outilsweb/comment-choisir-son-framework-php
Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework.

But de ce billet : Zend Framework 2
Dans ce billet, nous allons essayer de comprendre comment s’organise la création de page avec chaque framework:
Pour rappel, dans un site web, on à un template général, appelé « layout », qui contient notre bandeau/logo, nos menus de navigation ainsi qu’une partie dynamique: le contenu de notre site.
Nous allons voir ici, comment ont choisi le layout à utiliser (on peut en avoir plusieurs), puis comment on intègre la navigation, et comment on choisit quel template de vue utiliser pour l’affichage de notre contenu.

Voilà la page que nous allons étudier ici:
layoutViewSite

On peut voir 4 zones:

  • Le bandeau
  • La navigation des catégories
  • La navigation des derniers posts
  • Le contenu dynamique

layoutViewSite2

Le layout
Pour afficher la page d’accueil, on appelle la classe controller PostController:
/module/Blog/src/Blog/Controller/PostController.php
tree-module-post

Il n’y a pas d’indication sur le layout à charger, par défaut c’est : layout.phtml
Pour le modifier:
codeSelectLayout
Revenons à notre layout par défaut, voyons à quoi il ressemble:
Pour information, il se situe ici:
/module/Blog/view/layout/layout.phtml
tree-layout

code-layout

On retrouve ici un appel partiel au layout « navbar », , un emplacement pour le contenu dynamique (qui contiendra le contenu) plus un autre appel partiel à « sidebar » qui contiendra la navigation des catégories + celle des derniers posts (+ une condition pour gérer le cache de ce menu)

Le layout partiellement chargé layout/navbar
tree-layout-navbar

Mais ce qui est plus intéressant c’est layout/sidebar (notre fameux menu des catégories et derniers posts)
tree-layout-sidebar

code-view-sidebar

Note: par défaut, ces menus sont vides car chargé à partir du layout principal avec tableau posts et categories à vide (simple array)
note 2: je ne sais pas comment on pourrait lui passer la vrai liste des posts et categories :(

La/les vues
Lorsque l’on regarde l’action appelée pour afficher cette page d’accueil:
code-controller-index

On suppose par convention qu’il appelle la vu du même nom
/module/Blog/view/blog/post/index.phtml
tree-view-iindex

code-view-index

Retour au sommaire

Comment choisir son framework : view / layout

Introduction
Dans un précédent billet, je vous ai présenté l’initiative de grafikart: http://blog.developpez.com/ducodeetdulibre/p12482/outilsweb/comment-choisir-son-framework-php
Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework.

But de ce billet
Dans ce billet, nous allons essayer de comprendre commen s’organise la création de page avec chaque framework:
Pour rappel, dans un site web, on à un templage général, appelé layout, qui contient notre bandeau/logo, nos menus de navigation ainsi qu’une partie dynamique: le contenu de notre site.
Nous allons voir ici, comment ont choisi le layout à utiliser (on peut en avoir plusieurs), puis comment on intègre la navigation, et comment on choisi quel template de vue utiliser pour l’affichage de notre contenu.

Voilà la page que nous allons étudier ici
layoutViewSite

On peut voir 4 zones:

  • Le bandeau
  • La navigation des catégories
  • La navigation des derniers posts
  • Le contenu dynamique

layoutViewSite2

Retrouvez un billet de détail sur les frameworks suivants:

Retour au menu principal

Comment choisir son framework : view / layout – Symfony 2

Introduction
Dans un précédent billet, je vous ai présenté l’initiative de grafikart: http://blog.developpez.com/ducodeetdulibre/p12482/outilsweb/comment-choisir-son-framework-php
Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework.

But de ce billet : Symfony 2
Dans ce billet, nous allons essayer de comprendre comment s’organise la création de page avec chaque framework:
Pour rappel, dans un site web, on à un template général, appelé « layout », qui contient notre bandeau/logo, nos menus de navigation ainsi qu’une partie dynamique: le contenu de notre site.
Nous allons voir ici, comment ont choisi le layout à utiliser (on peut en avoir plusieurs), puis comment on intègre la navigation, et comment on choisit quel template de vue utiliser pour l’affichage de notre contenu.

Voilà la page que nous allons étudier ici:
layoutViewSite

On peut voir 4 zones:

  • Le bandeau
  • La navigation des catégories
  • La navigation des derniers posts
  • Le contenu dynamique

layoutViewSite2

Le layout
Pour afficher la page d’accueil, on appelle la classe controller PostController:
/src/Acme/BlogBundle/Controller/PublicController.php
tree-module-public

Il n’y a pas d’indication sur le layout à charger ici, il est précisé plus tard dans la vue

La/les vues
Lorsque l’on regarde l’action appelée pour afficher cette page d’accueil:
code-module-public-index
Qui appelle la méthode listPosts()
code-module-public-listPost

On peut lire ici que l’on appelle la vue:
/src/Acme/BlogBundle/Resources/views/Public/index.html.twig
tree-view-blogPublicIndex

code-view-blogPublicIndex

On peut lire en amont de cette vue que l’on étend la vue AcmeBlogBundle:Public:layout.html.twig
Voyons à quoi ce layout ressemble:
Pour information, il se situe ici:
/src/Acme/BlogBundle/Resources/views/Public/layout.html.twig
tree-layout

code-layout

On retrouve ici un appel d’extension du layout base.html.twig
/app/Resources/views/base.html.twig
tree-layout-base

code-layout-base

On voit également l’affichage du layout AcmeBlogBundle:Public:sidebar
/src/Acme/BlogBundle/Resources/views/Public/sidebar.html.twig
tree-layout-sidebar

codelayout-sidebar

La syntaxe {{ render(controller(‘AcmeBlogBundle:Public:sidebar’)) }} dans le layout indique qu’il appelle la méthode sidebarAction du module public
/src/Acme/BlogBundle/Controller/PublicController.php
tree-module-public

code-controller-sidebar

Retour au sommaire

Comment choisir son framework : liste admin – Laravel 4

Introduction
Dans un précédent billet, je vous ai présenté l’initiative de grafikart: http://blog.developpez.com/ducodeetdulibre/p12482/outilsweb/comment-choisir-son-framework-php
Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework.

Le listage des posts coté admin avec Laravel 4
Voici la page en question:
Une liste de posts, paginé avec des liens pour ajouter, modifier et supprimer ceux-ci.
admin-list

L’adresse URL est index.php/admin
Le fichier controlleur concerné est application/classes/Controller/Admin.php
tree-controller

Dans la méthode action_index(), on a le code suivant:
code-controller

On voit ici pour assigner des variables à la vue, via la méthode set() sur l’objet retourné par la méthode statique View::factory() de la vue.

note: ici la pagination et la liste des posts sont « fusionnés »: on assigne à la vue un objet de pagination contenant les posts.

Qui fait appel à la méthode findAll du model application/classes/Model/Post.php
tree-model

note: on a pas la méthode de recupération dans la couche model post, mais dans le controller:
code-model

Et enfin la vue html de listage en elle même:
Fichier module/privatePosts/view/list.php
tree-view

Où on a le code suivant:
code-view

On retrouve les variables $posts passé du controlleur plus haut

Retour au sommaire