Changes between Version 27 and Version 28 of members/GRIP-UQAM/PHP


Ignore:
Timestamp:
Oct 5, 2016, 12:42:25 PM (5 years ago)
Author:
Grip Uqam
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • members/GRIP-UQAM/PHP

    v27 v28  
     1 llama::
     2   some kind of mammal, with hair
     3 ppython::
     4   some kind of reptile, without hair
     5   (can you spot the typo?)
     6 llama::
     7   * some kind of mammal, with hair
     8 ppython::
     9   * some kind of reptile, without hair
     10   * (can you spot the typo?)
     11 llama::
     12  * some kind of mammal, with hair
     13 ppython::
     14  * some kind of reptile, without hair
     15  * (can you spot the typo?)
    116= Help about PHP =
    217* [http://www.php-fig.org/faqs/#can-you-help-me-with-my-php-code Can you help me with my PHP code?]
     
    520 * [http://php.net/manual/ PHP Manual] (especially the comments)
    621 * [http://phptherightway.com PHP: The Right Way]
     22= PHP Syntax =
     23== php double colon class ==
     24* [https://www.google.ca/search?q=php+double+colon+class Google]
     25 * [http://stackoverflow.com/questions/3173501/whats-the-difference-between-double-colon-and-arrow-in-php/3173511 What's the difference between :: (double colon) and -> (arrow) in PHP?]
     26 * [https://laracasts.com/discuss/channels/tips/double-colon-class Double colon class]
    727= Recommandations and Norms =
    828== PHP Framework Interop Group ==
     
    1434* Debian: [https://packages.debian.org/en/php-psr php-psr]
    1535
    16 * [https://packagist.org/search/?q=psr-3 PSR-3] [https://packagist.org/packages/psr/log psr/log] [https://packagist.org/search/?q=psr%2Flog ?] [[Image(https://img.shields.io/packagist/dm/psr/log.svg, link=https://packagist.org/packages/psr/log, title=psr/log)]]  [https://packagist.org/providers/psr/log-implementation providers] [https://packagist.org/packages/monolog/monolog monolog/monolog] [[Image(https://img.shields.io/packagist/dm/monolog/monolog.svg, link=https://packagist.org/packages/monolog/monolog, title=monolog/monolog)]]
    17 * [https://packagist.org/search/?q=psr-7 PSR-7] [https://packagist.org/packages/psr/http-message psr/http-message] [https://packagist.org/search/?q=psr%2Fhttp-message ?] [[Image(https://img.shields.io/packagist/dm/psr/http-message.svg, link=https://packagist.org/packages/psr/http-message, title=psr/http-message)]] [https://packagist.org/providers/psr/http-message-implementation providers] [https://packagist.org/packages/zendframework/zend-diactoros zendframework/zend-diactoros] [[Image(https://img.shields.io/packagist/dm/zendframework/zend-diactoros.svg, link=https://packagist.org/packages/zendframework/zend-diactoros, title=zendframework/zend-diactoros)]] (for comparison [https://packagist.org/packages/symfony/http-foundation symfony/http-foundation] [[Image(https://img.shields.io/packagist/dm/symfony/http-foundation.svg, link=https://packagist.org/packages/symfony/http-foundation, title=symfony/http-foundation)]])
    18 * [https://packagist.org/search/?q=psr-6 PSR-6] [https://packagist.org/packages/psr/cache psr/cache] [https://packagist.org/search/?q=psr%2Fcache ?] [[Image(https://img.shields.io/packagist/dm/psr/cache.svg, link=https://packagist.org/packages/psr/cache, title=psr/cache)]] [https://packagist.org/providers/psr/cache-implementation providers] [https://packagist.org/packages/symfony/cache symfony/cache] [[Image(https://img.shields.io/packagist/dm/symfony/cache.svg, link=https://packagist.org/packages/symfony/cache, title=symfony/cache)]]
    19  [https://packagist.org/packages/cache/array-adapter cache/array-adapter] [[Image(https://img.shields.io/packagist/dm/cache/array-adapter.svg, link=https://packagist.org/packages/cache/array-adapter, title=cache/array-adapter)]]
     36 [https://packagist.org/search/?q=psr-3 PSR-3] [https://packagist.org/packages/psr/log psr/log] [https://packagist.org/search/?q=psr%2Flog ?] [[Image(https://img.shields.io/packagist/dm/psr/log.svg, link=https://packagist.org/packages/psr/log, title=psr/log)]] [https://packagist.org/providers/psr/log-implementation providers]::
     37  * [https://packagist.org/packages/monolog/monolog monolog/monolog] [[Image(https://img.shields.io/packagist/dm/monolog/monolog.svg, link=https://packagist.org/packages/monolog/monolog, title=monolog/monolog)]]
     38 [https://packagist.org/search/?q=psr-7 PSR-7] [https://packagist.org/packages/psr/http-message psr/http-message] [https://packagist.org/search/?q=psr%2Fhttp-message ?] [[Image(https://img.shields.io/packagist/dm/psr/http-message.svg, link=https://packagist.org/packages/psr/http-message, title=psr/http-message)]] [https://packagist.org/providers/psr/http-message-implementation providers]::
     39  * [https://packagist.org/packages/zendframework/zend-diactoros zendframework/zend-diactoros] [[Image(https://img.shields.io/packagist/dm/zendframework/zend-diactoros.svg, link=https://packagist.org/packages/zendframework/zend-diactoros, title=zendframework/zend-diactoros)]] //(for comparison [https://packagist.org/packages/symfony/http-foundation symfony/http-foundation] [[Image(https://img.shields.io/packagist/dm/symfony/http-foundation.svg, link=https://packagist.org/packages/symfony/http-foundation, title=symfony/http-foundation)]])//
     40 [https://packagist.org/search/?q=psr-6 PSR-6] [https://packagist.org/packages/psr/cache psr/cache] [https://packagist.org/search/?q=psr%2Fcache ?] [[Image(https://img.shields.io/packagist/dm/psr/cache.svg, link=https://packagist.org/packages/psr/cache, title=psr/cache)]] [https://packagist.org/providers/psr/cache-implementation providers]::
     41  * [https://packagist.org/packages/symfony/cache symfony/cache] [[Image(https://img.shields.io/packagist/dm/symfony/cache.svg, link=https://packagist.org/packages/symfony/cache, title=symfony/cache)]]
     42  * [https://packagist.org/packages/cache/array-adapter cache/array-adapter] [[Image(https://img.shields.io/packagist/dm/cache/array-adapter.svg, link=https://packagist.org/packages/cache/array-adapter, title=cache/array-adapter)]]
    2043
    21 * [https://packagist.org/search/?q=psr-14 PSR-14] [https://packagist.org/packages/psr/event-manager psr/event-manager] [https://packagist.org/search/?q=psr%2Fevent-manager ?] [[Image(https://img.shields.io/packagist/dm/psr/event-manager.svg, link=https://packagist.org/packages/psr/event-manager, title=psr/event-manager)]] [https://packagist.org/providers/psr/event-manager-implementation providers] [https://packagist.org/packages/phossa2/event phossa2/event] [[Image(https://img.shields.io/packagist/dm/phossa2/event.svg, link=https://packagist.org/packages/phossa2/event, title=phossa2/event)]]
    22 * [https://packagist.org/packages/bee4/events bee4/events] [https://packagist.org/search/?q=bee4%2Fevents ?] [[Image(https://img.shields.io/packagist/dm/bee4/events.svg, link=https://packagist.org/packages/bee4/events, title=bee4/events)]] providers [https://packagist.org/packages/symfony/event-dispatcher symfony/event-dispatcher] [[Image(https://img.shields.io/packagist/dm/symfony/event-dispatcher.svg, link=https://packagist.org/packages/symfony/event-dispatcher, title=symfony/event-dispatcher)]] [https://packagist.org/packages/evenement/evenement evenement/evenement] [[Image(https://img.shields.io/packagist/dm/evenement/evenement.svg, link=https://packagist.org/packages/evenement/evenement, title=evenement/evenement)]] [https://packagist.org/packages/league/event league/event] [[Image(https://img.shields.io/packagist/dm/league/event.svg, link=https://packagist.org/packages/league/event, title=league/event)]]
    23 * [https://packagist.org/search/?q=psr-11 PSR-11] [https://packagist.org/packages/psr/container psr/container] [https://packagist.org/search/?q=psr%2Fcontainer ?] [[Image(https://img.shields.io/packagist/dm/psr/container.svg, link=https://packagist.org/packages/psr/container, title=psr/container)]] [https://packagist.org/providers/psr/container-implementation providers] [https://packagist.org/packages/phossa2/di phossa2/di] [[Image(https://img.shields.io/packagist/dm/phossa2/di.svg, link=https://packagist.org/packages/phossa2/di, title=phossa2/di)]] (for comparison [https://packagist.org/packages/symfony/dependency-injection symfony/dependency-injection] [[Image(https://img.shields.io/packagist/dm/symfony/dependency-injection.svg, link=https://packagist.org/packages/symfony/dependency-injection, title=symfony/dependency-injection)]]
    24 * [https://packagist.org/packages/container-interop/container-interop container-interop/container-interop] [https://packagist.org/search/?q=container-interop%2Fcontainer-interop ?] [[Image(https://img.shields.io/packagist/dm/container-interop/container-interop.svg, link=https://packagist.org/packages/container-interop/container-interop, title=container-interop/container-interop)]] [https://packagist.org/providers/container-interop/container-interop-implementation providers] [https://packagist.org/packages/zendframework/zend-servicemanager zendframework/zend-servicemanager] [[Image(https://img.shields.io/packagist/dm/zendframework/zend-servicemanager.svg, link=https://packagist.org/packages/zendframework/zend-servicemanager, title=zendframework/zend-servicemanager)]] [https://packagist.org/packages/xtreamwayz/pimple-container-interop xtreamwayz/pimple-container-interop] [[Image(https://img.shields.io/packagist/dm/xtreamwayz/pimple-container-interop.svg, link=https://packagist.org/packages/xtreamwayz/pimple-container-interop, title=xtreamwayz/pimple-container-interop)]] (based on [https://packagist.org/packages/pimple/pimple pimple/pimple] [[Image(https://img.shields.io/packagist/dm/pimple/pimple.svg, link=https://packagist.org/packages/pimple/pimple, title=pimple/pimple)]]) [https://packagist.org/packages/aura/di aura/di] [[Image(https://img.shields.io/packagist/dm/aura/di.svg, link=https://packagist.org/packages/aura/di, title=aura/di)]]...
     44 [https://packagist.org/search/?q=psr-14 PSR-14] [https://packagist.org/packages/psr/event-manager psr/event-manager] [https://packagist.org/search/?q=psr%2Fevent-manager ?] [[Image(https://img.shields.io/packagist/dm/psr/event-manager.svg, link=https://packagist.org/packages/psr/event-manager, title=psr/event-manager)]] [https://packagist.org/providers/psr/event-manager-implementation providers]::
     45  * [https://packagist.org/packages/phossa2/event phossa2/event] [[Image(https://img.shields.io/packagist/dm/phossa2/event.svg, link=https://packagist.org/packages/phossa2/event, title=phossa2/event)]]
     46 [https://packagist.org/packages/bee4/events bee4/events] [https://packagist.org/search/?q=bee4%2Fevents ?] [[Image(https://img.shields.io/packagist/dm/bee4/events.svg, link=https://packagist.org/packages/bee4/events, title=bee4/events)]] providers::
     47  * [https://packagist.org/packages/symfony/event-dispatcher symfony/event-dispatcher] [[Image(https://img.shields.io/packagist/dm/symfony/event-dispatcher.svg, link=https://packagist.org/packages/symfony/event-dispatcher, title=symfony/event-dispatcher)]]
     48  * [https://packagist.org/packages/evenement/evenement evenement/evenement] [[Image(https://img.shields.io/packagist/dm/evenement/evenement.svg, link=https://packagist.org/packages/evenement/evenement, title=evenement/evenement)]]
     49  * [https://packagist.org/packages/league/event league/event] [[Image(https://img.shields.io/packagist/dm/league/event.svg, link=https://packagist.org/packages/league/event, title=league/event)]]
     50 [https://packagist.org/search/?q=psr-11 PSR-11] [https://packagist.org/packages/psr/container psr/container] [https://packagist.org/search/?q=psr%2Fcontainer ?] [[Image(https://img.shields.io/packagist/dm/psr/container.svg, link=https://packagist.org/packages/psr/container, title=psr/container)]] [https://packagist.org/providers/psr/container-implementation providers]::
     51  * [https://packagist.org/packages/phossa2/di phossa2/di] [[Image(https://img.shields.io/packagist/dm/phossa2/di.svg, link=https://packagist.org/packages/phossa2/di, title=phossa2/di)]] //(for comparison [https://packagist.org/packages/symfony/dependency-injection symfony/dependency-injection] [[Image(https://img.shields.io/packagist/dm/symfony/dependency-injection.svg, link=https://packagist.org/packages/symfony/dependency-injection, title=symfony/dependency-injection)]])//
     52 [https://packagist.org/packages/container-interop/container-interop container-interop/container-interop] [https://packagist.org/search/?q=container-interop%2Fcontainer-interop ?] [[Image(https://img.shields.io/packagist/dm/container-interop/container-interop.svg, link=https://packagist.org/packages/container-interop/container-interop, title=container-interop/container-interop)]] [https://packagist.org/providers/container-interop/container-interop-implementation providers]::
     53  * [https://packagist.org/packages/zendframework/zend-servicemanager zendframework/zend-servicemanager] [[Image(https://img.shields.io/packagist/dm/zendframework/zend-servicemanager.svg, link=https://packagist.org/packages/zendframework/zend-servicemanager, title=zendframework/zend-servicemanager)]]
     54  * [https://packagist.org/packages/xtreamwayz/pimple-container-interop xtreamwayz/pimple-container-interop] [[Image(https://img.shields.io/packagist/dm/xtreamwayz/pimple-container-interop.svg, link=https://packagist.org/packages/xtreamwayz/pimple-container-interop, title=xtreamwayz/pimple-container-interop)]] //(based on [https://packagist.org/packages/pimple/pimple pimple/pimple] [[Image(https://img.shields.io/packagist/dm/pimple/pimple.svg, link=https://packagist.org/packages/pimple/pimple, title=pimple/pimple)]])//
     55  * [https://packagist.org/packages/aura/di aura/di] [[Image(https://img.shields.io/packagist/dm/aura/di.svg, link=https://packagist.org/packages/aura/di, title=aura/di)]]
     56  * ...
     57  * [https://packagist.org/packages/php-di/php-di php-di/php-di] [[Image(https://img.shields.io/packagist/dm/php-di/php-di.svg, link=https://packagist.org/packages/php-di/php-di, title=php-di/php-di)]]
     58  * [https://packagist.org/packages/league/container league/container] [[Image(https://img.shields.io/packagist/dm/league/container.svg, link=https://packagist.org/packages/league/container, title=league/container)]]
     59  * [https://packagist.org/packages/mouf/pimple-interop mouf/pimple-interop] [[Image(https://img.shields.io/packagist/dm/mouf/pimple-interop.svg, link=https://packagist.org/packages/mouf/pimple-interop, title=mouf/pimple-interop)]]
     60  * [https://packagist.org/packages/vaibhavpandeyvpz/katora vaibhavpandeyvpz/katora] [[Image(https://img.shields.io/packagist/dm/vaibhavpandeyvpz/katora.svg, link=https://packagist.org/packages/vaibhavpandeyvpz/katora, title=vaibhavpandeyvpz/katora)]] Minimal service container implementing container-interop/container-interop interfaces.
     61  * [https://packagist.org/packages/conformity/container conformity/container] [[Image(https://img.shields.io/packagist/dm/conformity/container.svg, link=https://packagist.org/packages/conformity/container, title=conformity/container)]] Lean PSR11 compatible dependency injection container
     62  * [https://packagist.org/packages/leemason/container leemason/container] [[Image(https://img.shields.io/packagist/dm/leemason/container.svg, link=https://packagist.org/packages/leemason/container, title=leemason/container)]] Lean PSR11 compatible dependency injection container
    2563
    26 * [https://packagist.org/search/?q=psr-16 PSR-16] [https://packagist.org/packages/psr/simplecache psr/simplecache] [https://packagist.org/search/?q=psr%2Fsimplecache ?] [[Image(https://img.shields.io/packagist/dm/psr/simplecache.svg, link=https://packagist.org/packages/psr/simplecache, title=psr/simplecache)]] [https://packagist.org/providers/psr/simplecache-implementation providers] [https://packagist.org/packages/matthiasmullie/scrapbook matthiasmullie/scrapbook] [[Image(https://img.shields.io/packagist/dm/matthiasmullie/scrapbook.svg, link=https://packagist.org/packages/matthiasmullie/scrapbook, title=matthiasmullie/scrapbook)]]
    27 * [https://packagist.org/search/?q=psr-15 PSR-15] [https://packagist.org/packages/psr/middleware psr/middleware] [https://packagist.org/search/?q=psr%2Fmiddleware ?] [[Image(https://img.shields.io/packagist/dm/psr/middleware.svg, link=https://packagist.org/packages/psr/middleware, title=psr/middleware)]] [https://packagist.org/providers/psr/middleware-implementation providers] [not yet implemented]
     64 [https://packagist.org/search/?q=psr-16 PSR-16] [https://packagist.org/packages/psr/simplecache psr/simplecache] [https://packagist.org/search/?q=psr%2Fsimplecache ?] [[Image(https://img.shields.io/packagist/dm/psr/simplecache.svg, link=https://packagist.org/packages/psr/simplecache, title=psr/simplecache)]] [https://packagist.org/providers/psr/simplecache-implementation providers]::
     65  * [https://packagist.org/packages/matthiasmullie/scrapbook matthiasmullie/scrapbook] [[Image(https://img.shields.io/packagist/dm/matthiasmullie/scrapbook.svg, link=https://packagist.org/packages/matthiasmullie/scrapbook, title=matthiasmullie/scrapbook)]]
     66 [https://packagist.org/search/?q=psr-15 PSR-15] [https://packagist.org/packages/psr/middleware psr/middleware] [https://packagist.org/search/?q=psr%2Fmiddleware ?] [[Image(https://img.shields.io/packagist/dm/psr/middleware.svg, link=https://packagist.org/packages/psr/middleware, title=psr/middleware)]] [https://packagist.org/providers/psr/middleware-implementation providers]::
     67  * [not yet implemented]
     68
     69 [https://packagist.org/packages/zendframework/zend-expressive-router zendframework/zend-expressive-router] [https://packagist.org/search/?q=zend-expressive-router ?] [[Image(https://img.shields.io/packagist/dm/zendframework/zend-expressive-router.svg, link=https://packagist.org/packages/zendframework/zend-expressive-router, title=zendframework/zend-expressive-router)]] [https://packagist.org/packages/zendframework/zend-expressive-router/dependents dependents]::
     70  * [https://packagist.org/packages/zendframework/zend-expressive-aurarouter zendframework/zend-expressive-aurarouter] [[Image(https://img.shields.io/packagist/dm/zendframework/zend-expressive-aurarouter.svg, link=https://packagist.org/packages/zendframework/zend-expressive-aurarouter, title=zendframework/zend-expressive-aurarouter)]] [https://packagist.org/packages/aura/router aura/router] [[Image(https://img.shields.io/packagist/dm/aura/router.svg, link=https://packagist.org/packages/aura/router, title=aura/router)]]
     71  * [https://packagist.org/packages/zendframework/zend-expressive-fastroute zendframework/zend-expressive-fastroute] [[Image(https://img.shields.io/packagist/dm/zendframework/zend-expressive-fastroute.svg, link=https://packagist.org/packages/zendframework/zend-expressive-fastroute, title=zendframework/zend-expressive-fastroute)]] [https://packagist.org/packages/nikic/fast-route nikic/fast-route] [[Image(https://img.shields.io/packagist/dm/nikic/fast-route.svg, link=https://packagist.org/packages/nikic/fast-route, title=nikic/fast-route)]] //(Also used by [https://packagist.org/packages/league/route league/route] [[Image(https://img.shields.io/packagist/dm/league/route.svg, link=https://packagist.org/packages/league/route, title=league/route)]])//
     72  * [https://packagist.org/packages/zendframework/zend-expressive-zendrouter zendframework/zend-expressive-zendrouter] [[Image(https://img.shields.io/packagist/dm/zendframework/zend-expressive-zendrouter.svg, link=https://packagist.org/packages/zendframework/zend-expressive-zendrouter, title=zendframework/zend-expressive-zendrouter)]] [https://packagist.org/packages/zendframework/zend-router zendframework/zend-router] [[Image(https://img.shields.io/packagist/dm/zendframework/zend-router.svg, link=https://packagist.org/packages/zendframework/zend-router, title=zendframework/zend-router)]]
    2873== Middlewares ==
    2974* PSR 15 @ [http://php-fig.org/psr/ php-fig.org/psr]
     
    116161== Symfony ==
    117162[wiki:members/GRIP-UQAM/Symfony]
     163== The League of Extraordinary Packages ==
     164* [http://thephpleague.com/ thephpleague.com]
     165* [https://packagist.org/packages/league/ Packages from league] league [https://packagist.org/search/?q=league Packagist]
    118166== Zend ==
    119167* https://packagist.org/search/?q=zend
     
    131179=== zend-cache (-memory) ===
    132180* [https://packagist.org/packages/zendframework/zend-memory zendframework/zend-memory]
     181=== zend-diactoros ===
     182PSR HTTP Message implementations ('''New in ZF3''')
     183==== [https://packagist.org/packages/zendframework/zend-diactoros zendframework/zend-diactoros] ====
     184* https://admin.fedoraproject.org/pkgdb/package/rpms/php-zendframework-zend-diactoros/
     185* [https://api.drupal.org/api/drupal/namespace/Zend!Diactoros/8.2.x Drupal API]
    133186=== zend-expressive ===
    134187Develop PSR-7 middleware applications in minutes! ('''New in ZF3''')
     
    213266It's 2016 now and there's Mink. It even supports different engines from headless pure-PHP "browser" (without JavaScript), over Selenium (which needs a browser like Firefox or Chrome) to a headless "browser.js" in NPM, which DOES support JavaScript. http://stackoverflow.com/questions/199045/is-there-a-php-equivalent-of-perls-wwwmechanize
    214267* Something similar is available in Python.
     268== Coding Standards ==
     269== About Coding Standards ===
     270* [WikiPedia:Coding_conventions]
     271 * [http://pear.php.net/manual/en/standards.php Coding Standards] [https://pear.php.net/manual/en/standards.sample.php Sample File (including Docblock Comment standards)] (file doc comment)
     272 * [http://www.php-fig.org/psr/psr-1/ PSR-1: Basic Coding Standard] [http://www.php-fig.org/psr/psr-2/ PSR-2: Coding Style Guide]
     273 *
     274 * [https://www.drupal.org/docs/develop/standards Drupal]
     275 * [https://framework.zend.com/manual/1.12/en/coding-standard.html Zend Framework Coding Standard for PHP] [https://framework.zend.com/manual/1.11/en/coding-standard.coding-style.html Coding Style]
     276 * [http://symfony.com/doc/current/contributing/code/standards.html Symfony]
     277  * symfony3 coding standard [https://packagist.org/search/?q=symfony3%20coding%20standard Packagist] [https://packagist.org/packages/escapestudios/symfony2-coding-standard escapestudios/symfony2-coding-standard] (bug: search files from executable folder, instead of current directory)
     278* [https://www.tutorialspoint.com/php/php_coding_standard.htm PHP - Coding Standard]
     279* [http://flowframework.readthedocs.io/en/stable/TheDefinitiveGuide/PartV/CodingGuideLines/PHP.html PHP Coding Guidelines & Best Practices]
     280* [http://stackoverflow.com/questions/139427/which-coding-convention-to-follow-for-php Which Coding convention to follow for PHP?]
    215281== Detecting coding standards' violations ==
    216282=== PHP_CodeSniffer ===
    217 * PHP_CodeSniffer [https://packagist.org/search/?q=PHP_CodeSniffer Packagist] [DebianPackage:php-codesniffer] [[Image(https://qa.debian.org/cgi-bin/popcon-png?packages=php-codesniffer&show_installed=on&date_fmt=%25Y, 5%, link=https://tracker.debian.org/pkg/php-codesniffer)]]
     283* PHP_CodeSniffer [https://packagist.org/search/?q=PHP_CodeSniffer Packagist] [DebianPackage:php-codesniffer] [[Image(https://qa.debian.org/cgi-bin/popcon-png?packages=php-codesniffer&show_installed=on&date_fmt=%25Y, 3%, link=https://tracker.debian.org/pkg/php-codesniffer, title="debian: php-codesniffer")]]
    218284* [https://packagist.org/packages/squizlabs/php_codesniffer squizlabs/php_codesniffer]
    219285* [https://packagist.org/packages/leaphub/phpcs-symfony2-standard leaphub/phpcs-symfony2-standard]
     
    267333* Packagist: [https://packagist.org/search/?q=event event]
    268334* [https://packagist.org/packages/evenement/evenement evenement/evenement]
     335* event dispatcher mediator [https://www.google.ca/search?q=event+dispatcher+mediator Google]
     336 * Writing Extensible Code Using Event Dispatcher [https://www.youtube.com/watch?v=q3hfa3wdT0s YouTube] [https://speakerdeck.com/johnkary/writing-extensible-code-using-event-dispatcher Speaker Deck]
    269337== Event loop ==
    270338* [https://packagist.org/packages/gos/pnctl-event-loop-emitter gos/pnctl-event-loop-emitter]
     
    294362* BDD assertion [https://packagist.org/search/?q=BDD%20assertion Packagist]
    295363* [https://packagist.org/packages/codeception/verify codeception/verify]
     364= CLI =
     365* [https://packagist.org/packages/symfony/console symfony/console] [[Image(https://img.shields.io/packagist/dm/symfony/console.svg, link=https://packagist.org/packages/symfony/console, title=symfony/console)]]
     366* [https://packagist.org/packages/league/climate league/climate] [[Image(https://img.shields.io/packagist/dm/league/climate.svg, link=https://packagist.org/packages/league/climate, title=league/climate)]]
    296367= Comparator =
    297368* Packagist: [https://packagist.org/search/?q=comparator comparator]