Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mieux Comprendre les PSR

Mieux Comprendre les PSR

My talk about PSR with the AFUP Bordeaux

Perussel Nicolas

June 19, 2017
Tweet

More Decks by Perussel Nicolas

Other Decks in Programming

Transcript

  1. Qui suis-je ? Nicolas Perussel 33 ans 11 ans d’expérience

    Twitter : @mamoot64 Github : acidline mamoot.fr
  2. PHP-FIG : PHP Framework Interoperability Group Crée en Mai 2009,

    au PHP[TEK] de Chicago « Réunion informelle » initialisée par Travis Swicegood (PEAR) Sous le nom : PHP Standards Group  PSR 0 : autoloading standard “By having official representatives from PEAR, Agavi, Cake, Solar, and Zend Framework and unofficial representation from Phing and Symfony, we had a good cross section.”
  3. PHP-FIG : PHP Framework Interoperability Group 2 ans d’absence puis

    en 2011 :  Changement de nom  PSR 1 (basic coding style), PSR 2 (coding style), PSR 3 (logger)
  4. 2013  Sondage en interne : orientation Spécification « soft

    » ou « hard »  Toujours de soucis d’organisation (Qui ? Quoi ? Comment ?)  Débat si intervention « personnes » ou « projets »  vote en Avril 2013  Règlement opaque, pauvre (ByLaws)  Question de la « propriété » d’une spécification : PSR 4 (Autoloading), PSR 6 (Cache), PSR 7 (HTTP Message) Phil Sturgeon Larry Garfield Juillet 2013  rédaction et amélioration des « ByLaws »
  5. Structure du groupe Vers un FIG 3.0 ? Membres (Juin

    2017) CakePHP | Composer | concrete5 | Contao Open Source CMS | Drupal | eZ Publish Horde | IBM i Toolkit | Icicle | Jackalope | Joomla | Lithium | Magento | PEAR | Phalcon | Phing | phpBB | phpDocumentor | PHPixie | Pimcore | PPI Framework | PrestaShop | PyroCMS | ReactPHP | Revive Adserver | SculpinSilver | Stripe | Slim Stash | Stormpath PHP SDK SugarCRM | Symfony | Neos and Flow | Wikibase and Semantic MediaWiki | Yii framework | Zend Framework 2 | Zikula
  6. Procédure de création http://www.php-fig.org/bylaws/psr-workflow/ VOTE ACCEPTANCE MEMBRES ACCEPTATION DE LA

    PSR IDEE Editeur et coordinateur « random » + sponsor VOTE DES MEMBRES 1, -1, 0 DRAFT DE LA PSR REVIEW QUORUM + MAJORITE (14 jours)
  7. Impact au quotidien  PSR-0 a permis l’établissement de COMPOSER

     PSR-1 and PSR-2 appliqué à tous les IDE et dans beaucoup de projets PHP  PSR-3 logger  65 831 479 installations (via Packagist)  PSR-6 cache  5 914 661 installations (via Packagist)  PSR-7 Http Message  28 625 535 installation (src Packagist)  The PSR-7 : mise en place dans la majorité des framework -> middleware
  8. PSR : PSR-7 & PSR-15 HTTP MESSAGE + MIDDLEWARE Converting

    HttpFoundation Request to a Zend Diactoros Server Request Implementing PSR-7 Psr\Http\Message\ServerRequestInterface Convert HttpFoundation Response to a Zend Diactoros Response Implementing PSR-7 Psr\Http\Message\ResponseInterface Source : https://medium.com/@Inviqa/an-introduction-to-psr-7-in-symfony-d723c00385b
  9. PSR : PSR-7 & PSR-15 HTTP MESSAGE + MIDDLEWARE Un

    middleware est quelque chose qui prend une requête et retourne une réponse. Mathieu Napoli
  10. PSR : PSR-7 & PSR-15 HTTP MESSAGE + MIDDLEWARE Principe

    de couche « oignon » Notion de « Pipe »