H2 - P2019

Développement web

Cours 33 - 2016-05-23

Frameworks PHP

Qu'est-ce qu'un framework ?

  • Frame : Cadre
    Work : Travail
  • Ensemble de composants structurés permettant de mettre en place l'architecture d'un logiciel
  • Valable dans la majorité des domaines y compris les sites
  • Une librairie est un outil (ou un ensemble d'outils)
    Un framework est un établi avec déjà plusieurs outils
  • Si vous développez une structure perso avec vos outils, vous créez un genre de framework

Un framework n'est pas un CMS

Un CMS peut être basé sur un framework

Exemples :

  • Drupal 8 avec Symfony
  • FU (CMS Uzik) avec Zend

Intérêts

  • Gain de temps / productivité
  • Moins de connaissances requises
  • Moins d'erreurs
  • Travail en groupe sur une base connue des membres
  • Communauté
  • Documentation

Contreparties

  • Potentiellement lourd
  • Méconnaissance du fonctionnement interne du Framework
  • Complexité (entre développeur de différents niveaux)
  • Failles
  • Mises à jour
  • Courbe d'apprentissage

Quelques framesworks PHP

  • Il existe de nombreux Frameworks PHP
  • La majorité des Framework récents nécessitent PHP 5.4
  • Structure souvent MVC (?)

Symfony

http://symfony.com

  • Version actuelle : 3.0
  • Idéal pour les sites : Moyens et gros
  • Courbe d'apprentissage : Lente
  • Popularité : Très grande
  • Charge : Lourde

Zend

http://framework.zend.com

  • Version actuelle : 2.5
  • Idéal pour les sites : Moyens et gros
  • Courbe d'apprentissage : Lente
  • Popularité : Grande
  • Charge : Lourde

CakePHP

http://cakephp.org

  • Version actuelle : 3.2
  • Idéal pour les sites : Petits et moyens
  • Courbe d'apprentissage : Assez rapide
  • Popularité : Assez grande
  • Charge : Assez légère

Laravel

http://laravel.com (micro-framework)

  • Version actuelle : 5.1
  • Idéal pour les sites : Petits et moyens
  • Courbe d'apprentissage : Assez rapide (difficile à mettre en place)
  • Popularité : De plus en plus grande
  • Charge : Légère

Slim

http://www.slimframework.com (micro-framework)

  • Version actuelle : 3.3
  • Idéal pour les sites : Petits et moyens
  • Courbe d'apprentissage : Assez rapide
  • Popularité : Moyenne
  • Charge : Légère

Silex

http://silex.sensiolabs.org (micro-framework)

  • Version actuelle : 1.3
  • Idéal pour les sites : Petits et moyens
  • Courbe d'apprentissage : Assez rapide
  • Popularité : Moyenne
  • Charge : Légère

Critères

  • Capacités serveur
  • Charge attendue
  • Fonctionnalités
  • Compétences internes
  • Popularité
  • Envie
Popularité des frameworks PHP
Performances des frameworks PHP

Nous allons apprendre à utiliser Silex

Logo silex