[[PageOutline]] = Packages Directories = * [https://phppackages.org/ PHPPackages.org] * [https://packagist.org/ Packagist.org] * [https://www.versioneye.com/php VersionEye.com/php] = Recommandations and Norms = == PHP Framework Interop Group == * [http://php-fig.org/ php-fig.org] === PHP Standards Recommendations === [[Image(https://qa.debian.org/cgi-bin/popcon-png?packages=php-psr-log%20php-psr-http-message%20php-psr-cache&show_installed=on&want_legend=on&want_ticks=on&date_fmt=%25Y-%25m&beenhere=1)]] * [[span(This needs to be updated!, style=background-color: lightyellow;)]] * [http://php-fig.org/psr/ php-fig.org/psr] * psr [https://packagist.org/search/?q=psr Packagist] * psr implementation [https://packagist.org/search/?q=psr%20implementation Packagist] * Debian: [https://packages.debian.org/en/php-psr php-psr] * interop [https://packagist.org/search/?q=interop Packagist] [[span([https://packagist.org/search/?q=psr-3 PSR-3], style=background-color: LawnGreen; border-radius: 3px; padding: 4px 6px 0px;)]] [https://packagist.org/packages/psr/log psr/log] [https://packagist.org/search/?q=psr%2Flog ?] [[Image(http://phppackages.org/p/psr/log/badge/rank.svg, link=http://phppackages.org/p/psr/log, title=psr/log)]] [[Image(https://www.versioneye.com/php/psr:log/reference_badge.svg, link=https://www.versioneye.com/php/psr:log/references, title=psr/log)]] [[Image(https://img.shields.io/packagist/dm/psr/log.svg, link=https://packagist.org/packages/psr/log, title=psr/log)]] [[Image(http://symfony.com/images/v5/logos/sf-positive.svg, 20px)]] [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)]] [[Image(https://www.versioneye.com/php/monolog:monolog/reference_badge.svg, link=https://www.versioneye.com/php/monolog:monolog/references, title=monolog/monolog,)]] [[Image(https://qa.debian.org/cgi-bin/popcon-png?packages=php-monolog&show_installed=on&want_legend=on&want_ticks=on&date_fmt=%25Y-%25m&beenhere=1, 3%, link=https://packages.qa.debian.org/p/php-monolog.html)]] * Based on [https://pypi.python.org/pypi/Logbook Logbook] (Python) [[Image(https://qa.debian.org/cgi-bin/popcon-png?packages=python-logbook%20python3-logbook%20python-logbook-doc&show_installed=on&want_legend=on&want_ticks=on&date_fmt=%25Y-%25m&beenhere=1, 3%, link=https://packages.qa.debian.org/l/logbook.html)]] which is improving the Python Standard Library [https://docs.python.org/3/library/logging.html logging] [[span([https://packagist.org/search/?q=psr-7 PSR-7], style=background-color: LawnGreen; border-radius: 3px; padding: 4px 6px 0px;)]] [https://packagist.org/packages/psr/http-message psr/http-message] [https://packagist.org/search/?q=psr%2Fhttp-message ?] [[Image(http://phppackages.org/p/psr/http-message/badge/rank.svg, link=http://phppackages.org/p/psr/http-message, title=psr/http-message)]] [[Image(https://www.versioneye.com/php/psr:http-message/reference_badge.svg, link=https://www.versioneye.com/php/psr:http-message/references, title=psr/http-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)]])// [[span([https://packagist.org/search/?q=psr-6 PSR-6], style=background-color: LawnGreen; border-radius: 3px; padding: 4px 6px 0px;)]] [https://packagist.org/packages/psr/cache psr/cache] [https://packagist.org/search/?q=psr%2Fcache ?] [[Image(http://phppackages.org/p/psr/cache/badge/rank.svg, link=http://phppackages.org/p/psr/cache, title=psr/cache)]] [[Image(https://www.versioneye.com/php/psr:cache/reference_badge.svg, link=https://www.versioneye.com/php/psr:cache/references, title=psr/cache)]] [[Image(https://img.shields.io/packagist/dm/psr/cache.svg, link=https://packagist.org/packages/psr/cache, title=psr/cache)]] [[Image(http://symfony.com/images/v5/logos/sf-positive.svg, 20px)]] [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)]] * [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)]] [[span([https://packagist.org/search/?q=psr-11 PSR-11], style=background-color: Orange; border-radius: 3px; padding: 4px 6px 0px;)]] [https://packagist.org/packages/psr/link psr/container] [https://packagist.org/search/?q=psr%2Fcontainer ?] [[Image(http://phppackages.org/p/psr/container/badge/rank.svg, link=http://phppackages.org/p/psr/container, title=psr/container)]] [[Image(https://www.versioneye.com/php/psr:container/reference_badge.svg, link=https://www.versioneye.com/php/psr:container/references, title=psr/container)]] [[Image(https://img.shields.io/packagist/dm/psr/container.svg, link=https://packagist.org/packages/psr/container, title=psr/container)]] [[Image(http://symfony.com/images/v5/logos/sf-positive.svg, 20px)]] [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)]])// [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]:: * The top 3 are recommanded by: * [https://packagist.org/packages/zendframework/zend-expressive zendframework/zend-expressive] * //[https://knpuniversity.com/screencast/dependency-injection/container-in-your-project Dependency Injection and the art of services and containers Tutorial]// [https://github.com/weaverryan Ryan Weaver] and [https://github.com/Leannapelham Leanna Pelham], [https://knpuniversity.com/ Knp University] ~2013 * [https://packagist.org/packages/zendframework/zend-servicemanager zendframework/zend-servicemanager] [[Image(http://phppackages.org/p/zendframework/zend-servicemanager/badge/rank.svg, link=http://phppackages.org/p/zendframework/zend-servicemanager, title=zendframework/zend-servicemanager)]] [[Image(https://www.versioneye.com/php/zendframework:zend-servicemanager/reference_badge.svg, link=https://www.versioneye.com/php/zendframework:zend-servicemanager/references, title=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(http://phppackages.org/p/xtreamwayz/pimple-container-interop/badge/rank.svg, link=http://phppackages.org/p/xtreamwayz/pimple-container-interop, title=xtreamwayz/pimple-container-interop)]] [[Image(https://www.versioneye.com/php/xtreamwayz:pimple-container-interop/reference_badge.svg, link=https://www.versioneye.com/php/xtreamwayz:pimple-container-interop/references, title=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(http://phppackages.org/p/pimple/pimple/badge/rank.svg, link=http://phppackages.org/p/pimple/pimple, title=pimple/pimple)]] [[Image(https://www.versioneye.com/php/pimple:pimple/reference_badge.svg, link=https://www.versioneye.com/php/pimple:pimple/references, title=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(http://phppackages.org/p/aura/di/badge/rank.svg, link=http://phppackages.org/p/paura/di, title=aura/di)]] [[Image(https://www.versioneye.com/php/aura:di/reference_badge.svg, link=https://www.versioneye.com/php/aura:di/references, title=aura/di)]] [[Image(https://img.shields.io/packagist/dm/aura/di.svg, link=https://packagist.org/packages/aura/di, title=aura/di)]] * ... * [https://packagist.org/packages/php-di/php-di php-di/php-di] [[Image(http://phppackages.org/p/php-di/php-di/badge/rank.svg, link=http://phppackages.org/p/php-di/php-di, title=php-di/php-di)]] [[Image(https://www.versioneye.com/php/php-di:php-di/reference_badge.svg, link=https://www.versioneye.com/php/php-di:php-di/references, title=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)]] * [https://packagist.org/packages/league/container league/container] [[Image(http://phppackages.org/p/league/container/badge/rank.svg, link=http://phppackages.org/p/league/container, title=league/container)]] [[Image(https://www.versioneye.com/php/league:container/reference_badge.svg, link=https://www.versioneye.com/php/league:container/references, title=league/container)]] [[Image(https://img.shields.io/packagist/dm/league/container.svg, link=https://packagist.org/packages/league/container, title=league/container)]] * [https://packagist.org/packages/mouf/pimple-interop mouf/pimple-interop] [[Image(http://phppackages.org/p/mouf/pimple-interop/badge/rank.svg, link=http://phppackages.org/p/mouf/pimple-interop, title=mouf/pimple-interop)]] [[Image(https://www.versioneye.com/php/mouf:pimple-interop/reference_badge.svg, link=https://www.versioneye.com/php/mouf:pimple-interop/references, title=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)]] * [https://packagist.org/packages/vaibhavpandeyvpz/katora vaibhavpandeyvpz/katora] [[Image(http://phppackages.org/p/vaibhavpandeyvpz/katora/badge/rank.svg, link=http://phppackages.org/p/vaibhavpandeyvpz/katora, title=vaibhavpandeyvpz/katora)]] [[Image(https://www.versioneye.com/php/vaibhavpandeyvpz:katora/reference_badge.svg, link=https://www.versioneye.com/php/vaibhavpandeyvpz:katora/references, title=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. * [https://packagist.org/packages/conformity/container conformity/container] [[Image(http://phppackages.org/p/conformity/container/badge/rank.svg, link=http://phppackages.org/p/conformity/container, title=conformity/container)]] [[Image(https://www.versioneye.com/php/conformity:container/reference_badge.svg, link=https://www.versioneye.com/php/conformity:container/references, title=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 * [https://packagist.org/packages/leemason/container leemason/container] [[Image(http://phppackages.org/p/leemason/container/badge/rank.svg, link=http://phppackages.org/p/leemason/container, title=leemason/container)]] [[Image(https://www.versioneye.com/php/leemason:container/reference_badge.svg, link=https://www.versioneye.com/php/leemason/container/references, title=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 [[span([https://packagist.org/search/?q=psr-16 PSR-16], style=background-color: LawnGreen; border-radius: 3px; padding: 4px 6px 0px;)]] [https://packagist.org/packages/psr/simple-cache psr/simple-cache] [https://packagist.org/search/?q=psr%2Fsimple-cache ?] [[Image(http://phppackages.org/p/psr/simple-cache/badge/rank.svg, link=http://phppackages.org/p/psr/simple-cache, title=psr/simple-cache)]] [[Image(https://www.versioneye.com/php/psr:simple-cache/reference_badge.svg, link=https://www.versioneye.com/php/psr:simple-cache/references, title=psr/simple-cache)]] [[Image(https://img.shields.io/packagist/dm/psr/simple-cache.svg, link=https://packagist.org/packages/psr/simple-cache, title=psr/simple-cache)]] [[Image(http://symfony.com/images/v5/logos/sf-positive.svg, 20px)]] [https://packagist.org/providers/psr/simple-cache-implementation providers]:: [[span([https://phppackages.org/s/psr-16 PSR-16], style=background-color: LawnGreen; border-radius: 3px; padding: 4px 6px 0px;)]] [https://packagist.org/search/?q=psr-16 P] [https://phppackages.org/p/psr/simple-cache psr/simple-cache] [https://packagist.org/packages/psr/simplecache P] [https://phppackages.org/s/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://phppackages.org/s/psr/simplecache-implementation psr/simplecache-implementation] [https://packagist.org/providers/psr/simplecache-implementation P]:: * ... * [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)]] [[span([https://packagist.org/search/?q=psr-13 PSR-13], style=background-color: LawnGreen; border-radius: 3px; padding: 4px 6px 0px;)]] [https://packagist.org/packages/psr/link psr/link] [https://packagist.org/search/?q=psr%2Flink ?] [[Image(http://phppackages.org/p/psr/link/badge/rank.svg, link=http://phppackages.org/p/psr/link, title=psr/link)]] [[Image(https://www.versioneye.com/php/psr:link/reference_badge.svg, link=https://www.versioneye.com/php/psr:link/references, title=psr/link)]] [[Image(https://img.shields.io/packagist/dm/psr/link.svg, link=https://packagist.org/packages/psr/link, title=psr/link)]] [[Image(http://symfony.com/images/v5/logos/sf-positive.svg, 20px)]] [https://packagist.org/providers/psr/link-implementation providers]:: [[span([https://packagist.org/search/?q=psr-14 PSR-14], style=background-color: NavajoWhite; border-radius: 3px; padding: 4px 6px 0px;)]] [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)]] [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)]] [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] [[span(PSR-4, style=background-color: LawnGreen; border-radius: 3px; padding: 4px 6px 0px;)]] Autoloading [[Image(http://symfony.com/images/v5/logos/sf-positive.svg, 20px)]]:: [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]:: * [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)]] * [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)]])// * [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)]] [https://packagist.org/packages/async-interop/event-loop async-interop/event-loop]:: == Middlewares == * PSR 15 @ [http://php-fig.org/psr/ php-fig.org/psr] === Stack === * [http://stackphp.com/ stackphp.com] [https://github.com/stackphp GitHub] [Google:stackphp] * [https://www.sitepoint.com/stackphp-explained/ StackPHP Explained] * [http://www.richardbagshaw.co.uk/stack-php-middleware/ StackPHP Middleware] * [http://slimframework.com/ Slim: a micro framework for PHP] (with ((Stack? -> psr-7?)) Middleware support) [https://packagist.org/packages/slim/slim slim/slim] [[Image(https://poser.pugx.org/slim/slim/downloads, link=https://packagist.org/packages/slim/slim, title=slim/slim,)]] == Laravel Contracts and Facades == * [https://laravel.com/docs/5.4/contracts] == References used == * //[http://fabien.potencier.org/symfony4-best-practices.html Symfony 4: Best Practices]// [http://fabien.potencier.org/ Fabien Potencier] April 07, 2017 [[Image(http://symfony.com/images/v5/logos/sf-positive.svg, 20px)]] = Top packages = == Top Rank == * [https://phppackages.org/popular] * [wiki:Packages/Top_Rank_(PHPPackages.org)] == Top References == * [https://phppackages.org/popular/referenced-by] * [[Image(https://www.versioneye.com/php/guzzlehttp:guzzle/reference_badge.svg, link=https://www.versioneye.com/php/guzzlehttp:guzzle/references, title=guzzlehttp/guzzle,)]] [https://packagist.org/packages/guzzlehttp/guzzle guzzlehttp/guzzle] == Top Monthly Download == * [[Image(https://poser.pugx.org/psr/log/d/monthly, link=https://packagist.org/packages/psr/log, title=psr/log)]] [https://packagist.org/packages/psr/log psr/log] * [[Image(https://poser.pugx.org/monolog/monolog/d/monthly, link=https://packagist.org/packages/monolog/monolog, title=monolog/monolog)]] [https://packagist.org/packages/monolog/monolog monolog/monolog] * [[Image(https://poser.pugx.org/guzzlehttp/guzzle/d/monthly, link=https://packagist.org/packages/guzzlehttp/guzzle, title=guzzlehttp/guzzle)]] [https://packagist.org/packages/guzzlehttp/guzzle guzzlehttp/guzzle] == Top Daily Download == * [https://phppackages.org/popular/average-daily-downloads] == Top Download == * [[Image(https://poser.pugx.org/monolog/monolog/downloads, link=https://packagist.org/packages/monolog/monolog, title=monolog/monolog)]] [https://packagist.org/packages/monolog/monolog monolog/monolog] * [[Image(https://poser.pugx.org/guzzlehttp/guzzle/downloads, link=https://packagist.org/packages/guzzlehttp/guzzle, title=guzzlehttp/guzzle)]] [https://packagist.org/packages/guzzlehttp/guzzle guzzlehttp/guzzle] == Top Forked == * [https://phppackages.org/popular/forks] = IDE, editing code = * [WikiPedia:Comparison_of_integrated_development_environments#PHP] * [WikiPedia:PHP_Development_Tools] * php development tools site:debian.org * https://help.ubuntu.com/community/EclipsePDT * [WikiPedia:Eclipse_Che] * https://packages.debian.org/en/eclipse * https://help.ubuntu.com/community/EclipseIDE * [WikiPedia:Class_browser] * [WikiPedia:Code_refactoring] * eclipse only open source solution 2016-09 = Packagist, Badges and Continuous Integration = == Packagist badges == * https://poser.pugx.org/ == About Continuous Integration == * [https://www.sitepoint.com/php-continuous-integration-travis-ci/ PHP and Continuous Integration with Travis CI] * [https://www.sitepoint.com/visualize-codes-quality-phpmetrics/ Visualize Your Code’s Quality with PhpMetrics] * [https://www.sitepoint.com/continuous-integration-php-ci/ Continuous Integration with PHP-CI] * [https://www.airpair.com/continuous-integration/posts/your-code-sucks-travis-and-scrutinizer-ftw You don't realize your code sucks. Travis and Scrutinizer FTW] == Continuous Integration Providers == * https://travis-ci.org/ * https://insight.sensiolabs.com/ * https://poser.pugx.org/ = Package system = * puli [https://packagist.org/search/?q=puli Packagist] [https://packagist.org/packages/puli/cli puli/cli] * [https://packagist.org/packages/php-http/discovery php-http/discovery] Finds installed HTTPlug implementations and PSR-7 message factories * [https://packagist.org/packages/php-http/message php-http/message] [http://docs.php-http.org/en/latest/message/message-factory.html Message Factory (docs)] = PHP Libraries = == hybridauth/hybridauth == * NOTE: HybridAuth is in maintainance mode. Although pull requests from the community are still accepted, you should find alternatives if you are starting a new project. HA is getting outdated by the day and there are no official plans to work on HybridAuth. * [https://packagist.org/packages/hybridauth/hybridauth hybridauth/hybridauth] * [http://hybridauth.sourceforge.net/userguide.html userguide] {{{#!sh $ composer require hybridauth/hybridauth }}} Google:: * easy [http://hybridauth.sourceforge.net/userguide/IDProvider_info_LinkedIn.html LinkedIn]:: * easy OpenID:: * easy (no secret information needed) [http://hybridauth.sourceforge.net/userguide/IDProvider_info_Yahoo.html Yahoo OpenID]:: * https://github.com/hybridauth/hybridauth/tree/master/additional-providers/hybridauth-yahoo-openid * http://hybridauth.sourceforge.net/userguide/tuts/specific-provider-wrapper.html * https://login.yahoo.com/ * a mobile phone number is required to register a new account * yahoo Application consumer key [http://hybridauth.sourceforge.net/userguide/IDProvider_info_Live.html Microsoft Live]:: * Not clear if the domain root URL can be used as redirect URI * Using the domain root URL as redirect URI results in an error at the time of clicking the icon on the registered web site * It is not possible to register inside Microsoft developper website a redirect URI similar to the one used for Google, because some caracteres are not accepted. * one could try to make a simpler redirection URI which would redirect to the one simililar to the one used for Google. * microsoft oauth2 application id * [https://msdn.microsoft.com/en-us/library/bb676626.aspx Getting Your Client ID for Web Authentication] * https://account.live.com * [https://account.live.com/developers/applications/index Mes applications] [http://hybridauth.sourceforge.net/userguide/IDProvider_info_Facebook.html Facebook] * https://developers.facebook.com/apps needs a phone number (sound or text) or a credit card || || || || jessie (stable) || bpo || stretch (testing) || || /usr/share/php/ || || || || || || || || [DebianPackage:php5-apcu] || /usr/share/php/ || || [https://packagist.org/packages/composer/composer composer/composer] || 2016-03-27 || b || || || # || [DebianPackage:composer] || Composer || || [https://packagist.org/packages/hybridauth/hybridauth hybridauth/hybridauth] || 2016-01-12 || 2.6 || || || || || || || [https://packagist.org/packages/psr/log psr/log] || 2012-12-21 || 1.0 || 1.0 || || 1.0 || [DebianPackage:php-psr-log] || Psr/Log || || [https://packagist.org/packages/symfony/symfony symfony/symfony] || 2016-02-28 || 3.0 || 2.3 || || 2.8 || [DebianPackage:php-symfony-framework-bundle] || Symfony/Bundle/FrameworkBundle || || [https://packagist.org/packages/zendframework/zendframework1 zendframework1], [https://packagist.org/packages/bombayworks/zendframework1 zendframework1] || || || || || || [DebianPackage:zendframework] || /usr/share/php/ || || [https://packagist.org/search/?q=zendframework zendframework 2] || || || || || || [DebianPackage:php-zend-] || || || [https://packagist.org/packages/zendframework/zendsearch zendframework/zendsearch] || || || || || || [DebianPackage:php-zend-search] || /usr/share/php/ || || [https://packagist.org/packages/] || || || || || || [DebianPackage:] || /usr/share/php/ || || [https://packagist.org/packages/] || || || || || || [DebianPackage:] || /usr/share/php/ || * [https://qa.debian.org/developer.php?login=pkg-php-pear@lists.alioth.debian.org Packages overview for Debian PHP PEAR Maintainers] * [http://pkg-php.alioth.debian.org Debian PHP Group] == APCu and APC == * [DebianPackage:php5-apcu] * [http://stackoverflow.com/questions/10447501/how-to-de-fragment-apc-cache How to de-fragment APC cache] == Aura == * https://packagist.org/search/?q=aura * http://auraphp.com/ * https://github.com/auraphp == Container Interoperability == * [https://packagist.org/packages/container-interop/container-interop container-interop/container-interop] * https://github.com/container-interop/container-interop == Drupal == [wiki:members/GRIP-UQAM/Drupal] == Symfony == [wiki:members/GRIP-UQAM/Symfony] == The League of Extraordinary Packages == * [http://thephpleague.com/ thephpleague.com] * [https://packagist.org/packages/league/ Packages from league] league [https://packagist.org/search/?q=league Packagist] == Zend == * https://packagist.org/search/?q=zend As of mid 2016 documentation looks more complete for Zend 1, at least for some modules. Maybe more in books for Zend 2. [https://framework.zend.com/blog/2016-06-28-zend-framework-3.html ZF3] is also out, now each module has its own independent version. !! I had not been able to navigate ZEnd doc website! * zf2-documentation release-2.3.9 [https://github.com/zendframework/zf2-documentation/tree/release-2.3.9/docs/languages/en/modules GitHub] * zend+framework [https://www.worldcat.org/search?q=zend+framework WorldCat] English * https://www.packtpub.com/web-development/instant-zend-framework-20 * https://www.packtpub.com/web-development/zend-framework-2-application-development * https://www.packtpub.com/web-development/zend-framework-2-cookbook * Zend Framework 2.0 by Example: Beginner’s Guide [https://www.packtpub.com/web-development/zend-framework-20-example-beginner%E2%80%99s-guide Packt], [http://www.worldcat.org/search?q=Zend+Framework+2.0+by+example+%3A+Beginner%27s+guide WorldCat], [http://iris.banq.qc.ca/alswww2.dll/APS_ZONES?fn=ViewNotice&Style=Portal3&q=4658400&Lang=FRE BAnQ] French * Zend Framework 2 : industrialisez vos développements PHP [https://www.worldcat.org/title/zend-framework-2-industrialisez-vos-developpements-php WorldCat] [http://www.editions-eni.fr/livres/zend-framework-2-industrialisez-vos-developpements-php/.cd1de5c29b1632e549a58c624a58b377.html ENI] === zend-cache (-memory) === * [https://packagist.org/packages/zendframework/zend-memory zendframework/zend-memory] === zend-di === * [https://packagist.org/packages/zendframework/zend-di zendframework/zend-di] != [https://packagist.org/packages/zendframework/zend-servicemanager zendframework/zend-servicemanager] === zend-diactoros === PSR HTTP Message implementations ('''New in ZF3''') * [https://packagist.org/packages/zendframework/zend-diactoros zendframework/zend-diactoros] * https://admin.fedoraproject.org/pkgdb/package/rpms/php-zendframework-zend-diactoros/ * [https://api.drupal.org/api/drupal/namespace/Zend!Diactoros/8.2.x Drupal API] === zend-expressive === Develop PSR-7 middleware applications in minutes! ('''New in ZF3''') * [https://packagist.org/packages/zendframework/zend-expressive zendframework/zend-expressive] === zend-feed === * [https://packagist.org/packages/zendframework/zend-feed zendframework/zend-feed] * [https://packagist.org/packages/eko/feedbundle eko/feedbundle] A Symfony bundle to build RSS feeds from entities === zend-mail === Allow reading message. This seems not to be the case for SwiftMailer (august 2016). * https://packagist.org/search/?q=zend-mail ==== zendframework/zend-mail ==== * [https://packagist.org/packages/zendframework/zend-mail zendframework/zend-mail] * https://framework.zend.com/manual/2.4/en/modules/zend.mail.introduction.html * https://zendframework.github.io/zend-mail/ (empty page august 2016) * zf2-documentation release-2.3.9 [https://github.com/zendframework/zf2-documentation/tree/release-2.3.9/docs/languages/en/modules GitHub] * ([DebianPackage:php-zend-mail] not yet) ==== zf1/zend-mail ==== * [https://packagist.org/packages/zf1/zend-mail zf1/zend-mail] * https://framework.zend.com/manual/1.12/en/zend.mail.html [https://framework.zend.com/manual/1.12/fr/zend.mail.html fr] * https://framework.zend.com/apidoc/1.10/_Mail.html * [DebianPackage:zendframework] === zend-search(-lucene) === * zend*search [https://packagist.org/search/?q=zend*search Packagist] * [wiki:members/GRIP-UQAM/InformationRetrievalSoftwareLibraries InformationRetrievalSoftwareLibraries] * http://lucene.apache.org/ ==== zendframework/zendsearch ==== * [https://packagist.org/packages/zendframework/zendsearch zendframework/zendsearch] * Looks abandonned * https://framework.zend.com/manual/2.4/en/tutorials/lucene.intro.html (1 page only, august 2016) * zf2-documentation release-2.3.9 [https://github.com/zendframework/zf2-documentation/tree/release-2.3.9/docs/languages/en/modules GitHub] * [https://github.com/zendframework/zf2-documentation/blob/release-2.3.9/docs/languages/en/modules/zendsearch.lucene.overview.rst Overview] * [https://github.com/zendframework/zf2-documentation/blob/release-2.3.9/docs/languages/en/modules/zendsearch.lucene.index-creation.rst Index Creation] * [https://github.com/zendframework/zf2-documentation/blob/release-2.3.9/docs/languages/en/modules/zendsearch.lucene.searching.rst Searching] * [https://github.com/zendframework/zf2-documentation/blob/release-2.3.9/docs/languages/en/modules/zendsearch.lucene.query-language.rst Query Language] * [https://github.com/zendframework/zf2-documentation/blob/release-2.3.9/docs/languages/en/modules/zendsearch.lucene.queries.rst Query Construction API], [https://zf2.readthedocs.io/en/release-2.2.0/modules/zendsearch.lucene.queries.html readthedocs (2.2.0)] * [https://github.com/zendframework/zf2-documentation/blob/release-2.3.9/docs/languages/en/modules/zendsearch.lucene.charset.rst Charset] * [https://github.com/zendframework/zf2-documentation/blob/release-2.3.9/docs/languages/en/modules/zendsearch.lucene.extending.rst Extending] * [https://github.com/zendframework/zf2-documentation/blob/release-2.3.9/docs/languages/en/modules/zendsearch.lucene.java-lucene.rst Java Lucene] * [https://github.com/zendframework/zf2-documentation/blob/release-2.3.9/docs/languages/en/modules/zendsearch.lucene.advanced.rst Advanced] * [https://github.com/zendframework/zf2-documentation/blob/release-2.3.9/docs/languages/en/modules/zendsearch.lucene.best-practice.rst Best Practice] * [https://zf2.readthedocs.io/en/release-2.2.0/search.html?q=lucene&check_keywords=yes readthedocs] * //[http://www.worldcat.org/oclc/857066380 Zend Framework 2.0 by Example: Beginner’s Guide]// Krishna Shasankar [https://www.packtpub.com/web-development/zend-framework-20-example-beginner%E2%80%99s-guide Packt] 2013 * [DebianPackage:php-zend-search] * search-bundle [https://packagist.org/search/?q=search-bundle Packagist] * [https://packagist.org/packages/massive/search-bundle massive/search-bundle] * [https://packagist.org/packages/egeloen/lucene-search-bundle egeloen/lucene-search-bundle] ==== zf1/zend-search-lucene ==== * [https://packagist.org/packages/zf1/zend-search-lucene zf1/zend-search-lucene] * https://framework.zend.com/manual/1.12/en/zend.search.lucene.html [https://framework.zend.com/manual/1.12/fr/zend.search.lucene.html fr] * //[http://symfony.com/legacy/doc/jobeet/1_2/en/17?orm=Doctrine Day 17: Search]// * [DebianPackage:zendframework] === zend-servicemanager === * [https://packagist.org/packages/zendframework/zend-servicemanager zendframework/zend-servicemanager] != [https://packagist.org/packages/zendframework/zend-di zendframework/zend-di] == Packages == * [https://packagist.org/packages/phpfastcache/phpfastcache phpfastcache/phpfastcache] = Asynchronous IO Programming = * //[WikiPedia:Concurrent_computing]//, //[WikiPedia:Concurrent_object-oriented_programming]// * //[http://www.slideshare.net/wimg/the-promise-of-asynchronous-php The promise of asynchronous PHP]// [http://techblog.wimgodden.be/ Wim Godden] 2015 == General libraries == === [https://github.com/async-interop async-interop] PHP Asynchronous Interoperability Group === === React === The event loop is based on the reactor pattern (hence the name) and strongly inspired by libraries such as EventMachine (Ruby), Twisted (Python) and Node.js (V8). * keyword: reactor pattern * [WikiPedia:Reactor_pattern], [http://stackoverflow.com/questions/5566653/explanation-of-the-reactor-pattern Explanation of the “Reactor pattern”], [WikiPedia:Reactive_programming], [WikiPedia:Proactor_pattern] (Boost.Asio and maybe some parts of Python asyncio] * //[https://speakerdeck.com/jmikola/async-php-with-react Async PHP with React]// [https://speakerdeck.com/jmikola Jeremy Mikola] 2015 ==== The name ==== * [WikiPedia:React_(JavaScript_library)] * [WikiPedia:ReactOS] ==== Packages ==== * from [https://packagist.org/packages/react/ react] https://packagist.org/search/?q=react https://github.com/reactphp, http://reactphp.org/ * [https://packagist.org/packages/react/event-loop react/event-loop] * suggests: * Libevent [http://php.net/manual/en/book.libevent.php php.net/manual] [https://pecl.php.net/package/libevent pecl] [http://stackoverflow.com/questions/23203056/how-do-you-install-libevent-for-php How do you install Libevent for PHP?] keyword:php ext libevent site:packages.debian.org * Event [http://docs.php.net/event docs.php.net] * Libev [http://php.net/manual/en/book.ev.php php.net/manual/en/book] [http://php.net/manual/en/intro.ev.php php.net/manual/en/intro] [https://pecl.php.net/package/ev pecl] * [https://packagist.org/packages/litgroup/event-loop-bundle litgroup/event-loop-bundle] * [https://packagist.org/packages/react/react react/react] * [https://packagist.org/packages/react/promise react/promise] [DebianPackage:php-react-promise] * [https://packagist.org/packages/react/http-client react/http-client] * [https://packagist.org/packages/wyrihaximus/react-guzzle-http-client wyrihaximus/react-guzzle-http-client] * [https://packagist.org/packages/gos/pnctl-event-loop-emitter gos/pnctl-event-loop-emitter] * [https://packagist.org/packages/mkraemer/react-pcntl mkraemer/react-pcntl] PCNTL bindings for ReactPHP * [https://packagist.org/packages/recoil/recoil recoil/recoil] Coroutines * [https://packagist.org/packages/icecave/mephisto icecave/mephisto] An asynchronous process management library for React. (uses extension included in Debian 8 core module) * [https://packagist.org/packages/react/mysql react/mysql] * [https://packagist.org/packages/voryx/pgasync voryx/pgasync] Async Reactive Postgres Driver for PHP (Non-blocking) * [https://packagist.org/packages/jogaram/react-bundle jogaram/react-bundle] * [https://packagist.org/packages/itscaro/react-bundle itscaro/react-bundle] * [https://packagist.org/packages/webstronauts/react-bundle webstronauts/react-bundle] * [https://packagist.org/packages/ftdebugger/react-zf2 ftdebugger/react-zf2] ==== Family ==== * [https://packagist.org/packages/cboden/ratchet cboden/ratchet] http://socketo.me/ Ratchet: WebSockets for PHP. Ratchet is a loosely coupled PHP library providing developers with tools to create real time, bi-directional applications between clients and servers over WebSockets. https://packagist.org/search/?q=ratchet * https://github.com/bergie/dnode-php * [https://packagist.org/packages/workerman/workerman workerman/workerman] An asynchronous event driven PHP framework for easily building fast, scalable network applications. === Icicle === * //[https://trowski.com/2015/10/21/getting-started-with-icicle/ Getting Started with Icicle : Write asynchronous code in PHP with synchronous coding techniques using promises and coroutines]// 2015 * //[https://www.sitepoint.com/build-a-superfast-php-server-in-minutes-with-icicle/ Build a Superfast PHP Server in Minutes with Icicle]// [https://www.sitepoint.com/author/assertchris/ Christopher Pitt] 2015 === ReactiveX === * [http://reactivex.io/ reactivex.io] [http://reactivex.io/languages.html languages] * [https://packagist.org/packages/reactivex/rxphp reactivex/rxphp] [[Image(https://img.shields.io/packagist/dm/reactivex/rxphp.svg, link=https://packagist.org/packages/reactivex/rxphp, title=reactivex/rxphp)]] == Event == * [WikiPedia:Event_(computing)], [WikiPedia:Event-driven_programming] * [http://eventdrivenpgm.sourceforge.net/ Event-Driven Programming: Introduction, Tutorial, History] * Packagist: [https://packagist.org/search/?q=event event] === Event Dispatcher (not necessarily IO) * //[WikiPedia:Mediator_pattern]// (# to be moved...) * //[https://stackoverflow.com/questions/12534338/is-the-use-of-the-mediator-pattern-recommend Is the use of the mediator pattern recommend?]// * //[WikiPedia:Design_Patterns]// * //[Software_design_pattern]// * [https://packagist.org/packages/evenement/evenement evenement/evenement] * event dispatcher mediator [https://www.google.ca/search?q=event+dispatcher+mediator Google] * 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] == Event loop == * //[https://www.sitepoint.com/an-introduction-into-event-loops-in-php/ An Introduction into Event Loops in PHP]// [https://www.sitepoint.com/author/assertchris/ Christopher Pitt] 2015 * [https://packagist.org/packages/gos/pnctl-event-loop-emitter gos/pnctl-event-loop-emitter] == Promise (concurrent.futures in python) == * https://packagist.org/search/?q=promise [DebianPackage:promise] * [https://packagist.org/packages/react/promise react/promise] [DebianPackage:php-react-promise] * [https://packagist.org/packages/guzzlehttp/promises guzzlehttp/promises] [DebianPackage:php-guzzlehttp-promises] * [https://packagist.org/packages/php-http/promise php-http/promise] == Coroutine == * [https://packagist.org/packages/recoil/recoil recoil/recoil] == State machine == * Check link with Asynchronous IO * [WikiPedia:Automata_theory], [WikiPedia:Automata-based_programming] * Packagist: [https://packagist.org/search/?q=state%20machine state machine] * [https://packagist.org/packages/winzou/state-machine winzou/state-machine] * [https://packagist.org/packages/winzou/state-machine-bundle winzou/state-machine-bundle] ----- ----- = Topic libraries = By alphabetical order = Assertion = * Would it belong to the test section? * https://packagist.org/search/?q=assertion * [https://packagist.org/packages/webmozart/assert webmozart/assert] Assertions to validate method input/output with nice error messages == BDD Assertion == * BDD assertion [https://packagist.org/search/?q=BDD%20assertion Packagist] * [https://packagist.org/packages/jacobstr/esperance jacobstr/esperance] * [https://packagist.org/packages/esperance/esperance esperance/esperance] * [https://packagist.org/packages/codeception/verify codeception/verify] BDD assertion library for PHPUnit = CLI = * [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)]] * [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)]] = Comparator = * Packagist: [https://packagist.org/search/?q=comparator comparator] * [https://packagist.org/packages/sebastian/comparator sebastian/comparator] = Diff = * [https://packagist.org/packages/sebastian/diff] = Error handling = * [https://packagist.org/packages/filp/whoops filp/whoops] = Feed (RSS, Atom, ...) * https://en.wikipedia.org/wiki/Web_feed * https://en.wikipedia.org/wiki/RSS * [https://en.wikipedia.org/wiki/Atom_%28standard%29] * https://packagist.org/search/?q=rss * [https://packagist.org/packages/zendframework/zend-feed zendframework/zend-feed] * [https://packagist.org/packages/simplepie/simplepie simplepie/simplepie] * [https://packagist.org/packages/fguillot/picofeed fguillot/picofeed] = Git = * git [https://packagist.org/search/?q=git Packagist] * [https://packagist.org/packages/sebastian/git sebastian/git] * [https://packagist.org/packages/gitonomy/gitlib gitonomy/gitlib] = GitHub = * github [https://packagist.org/search/?q=github Packagist] * [https://packagist.org/packages/knplabs/github-api knplabs/github-api] = HTTP Clients = * https://packagist.org/search/?q=HTTP%20client * [https://packagist.org/packages/php-http/httplug php-http/httplug] HTTPlug, the HTTP client abstraction for PHP * [https://packagist.org/packages/php-http/httplug-bundle php-http/httplug-bundle] * [https://packagist.org/packages/guzzlehttp/guzzle guzzlehttp/guzzle] * [https://packagist.org/packages/fabpot/goutte fabpot/goutte] Goutte is a thin wrapper around the following fine PHP libraries: Guzzle HTTP Component; Symfony Components: BrowserKit, CssSelector and DomCrawler. * [https://packagist.org/packages/kriswallsmith/buzz kriswallsmith/buzz] * [https://packagist.org/packages/zendframework/zend-http zendframework/zend-http] * [https://packagist.org/packages/react/http-client react/http-client] * [https://packagist.org/packages/aura/http aura/http] = Middlewares (#TODO to be melded with other section = * middleware [https://packagist.org/search/?q=middleware Packagist] * //[https://mwop.net/blog/2015-01-08-on-http-middleware-and-psr-7.html On HTTP, Middleware, and PSR-7]// [https://mwop.net Matthew Weier O'Phinney] 2015 * //[https://igor.io/2013/02/02/http-kernel-middlewares.html HttpKernel middlewares]// 2013 == Stack * [https://packagist.org/packages/stack/builder stack/builder] Builder for stack middlewares based on ((Symfony)) HttpKernelInterface. * [https://packagist.org/packages/stack/builder/dependents dependents] * stack [https://packagist.org/search/?q=stack Packagist] == PSR-7 (http-message) Middlewares == * [https://packagist.org/packages/oscarotero/psr7-middlewares oscarotero/psr7-middlewares] Collection of HTTP middlewares compatible with PSR-7 * [https://github.com/php-middleware php-middleware (GitHub)] === Stratigility === * [https://packagist.org/packages/zendframework/zend-stratigility zendframework/zend-stratigility] === Slim Middleware === * [http://www.slimframework.com/docs/concepts/middleware.html Middleware] * [https://packagist.org/packages/slim/middleware slim/middleware] ((up to date?)) = Multi Authentication = * [https://phppackages.org/p/socialconnect/auth socialconnect/auth] not yet popular (march 2017) * [https://phppackages.org/p/league/oauth2-client league/oauth2-client] * [https://phppackages.org/p/hybridauth/hybridauth hybridauth/hybridauth] NOTE: HybridAuth is in maintainance mode. Although pull requests from the community are still accepted, you should find alternatives if you are starting a new project. HA is getting outdated by the day and there are no official plans to work on HybridAuth. (march 2017) see also section elsewhere in this text. * [https://phppackages.org/p/opauth/opauth opauth/opauth] no recent version (march 2017). = Oauth2 = * [https://phppackages.org/p/league/oauth2-client league/oauth2-client] = Openid Connect = * https://packagist.org/search/?q=openid%20connect * [https://packagist.org/packages/ivan-novakov/php-openid-connect-client ivan-novakov/php-openid-connect-client] * [https://packagist.org/packages/jumbojett/openid-connect-php jumbojett/openid-connect-php] = Openid = * [https://phppackages.org/p/openid/php-openid openid/php-openid] best supported php openid library (march 2017), but maybe a bit complicated... * [https://phppackages.org/p/lightopenid/lightopenid lightopenid/lightopenid] = Process control = * symfony == PCNTL == * included in [DebianPackage:php5-cli] * http://php.net/manual/en/book.pcntl.php * [https://packagist.org/packages/mkraemer/react-pcntl mkraemer/react-pcntl] = SQL = * sql [https://packagist.org/search/?q=sql Packagist] * [https://packagist.org/packages/doctrine/dbal doctrine/dbal] * [https://packagist.org/packages/aura/sql aura/sql] == DBAL == * Has a weakness preventing to use foreign key constraints in Sqlite (a recent improvement of Sqlite), (at least in version 2.5.6 - 2.5.7). * //[https://www.sqlite.org/foreignkeys.html SQLite Foreign Key Support]// * Solutions are been considered! * Once it will be working, Debian version still will have to wait for update. [DebianPackage:php-doctrine-dbal] * While waiting to something integrated into Dbal, the following code can be executed just after connection: {{{#!perl $pdo->exec("PRAGMA foreign_keys = ON;"); }}} * This can be done in a PostConnect event * [https://github.com/doctrine/dbal/issues/2531 Sqlite: Add option to support PRAGMA for all connections] * [http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/events.html 11. Events] * [https://stackoverflow.com/questions/12585507/symfony2-doctrine-postconnect-event-never-triggered symfony2 doctrine postConnect event never triggered] * [http://symfony.com/doc/current/doctrine/event_listeners_subscribers.html How to Register Event Listeners and Subscribers] [Specific to Doctrine] * //[https://www.thedevfiles.com/2014/08/simplifying-database-interactions-with-doctrine-dbal/ Simplifying database interactions with Doctrine DBAL]// 2014 === Features === * Database insert seems better handled by (dbal 2.5.8) {{{#!perl $conn->insert($TaxoTable->getName(), ['term' => 'dbal']); }}} than by {{{#!perl $queryBuilder = $conn->createQueryBuilder(); $queryBuilder ->insert($UrlTable->getName()) ->values(['url' => "xyz"]) ; echo $queryBuilder->getSQL() . "
\n"; $conn->executeUpdate($queryBuilder->getSQL()); # $queryBuilder->execute(); # Does not work because the value is not between "" in the produced SQL. }}} * The schema manager creates FOREIGN KEY CONSTRAINTs with ALTER TABLE. (This seems to be solved in 2.5.8) * This allows to create the associated index before the foreign key constraint. This can be useful to create a named index before it is already automatically created by some databases. * It is not sure if it can work with sqlite. It seems it should not. [https://www.sqlite.org/lang_altertable.html SQL As Understood By SQLite: ALTER TABLE] [https://www.sqlite.org/syntax/foreign-key-clause.html foreign-key-clause] * Has its own event manager (version 2.5.7) = Static site generator = * [https://packagist.org/packages/spress/spress spress/spress] = String = * [https://packagist.org/packages/behat/transliterator behat/transliterator] String transliterator ==== Timer, stopwatch (also on Symfony page) ==== * [https://packagist.org/packages/symfony/stopwatch symfony/stopwatch] * [https://packagist.org/packages/phpunit/php-timer phpunit/php-timer] = Variables visualization = * variables visualization [https://packagist.org/search/?q=variables%20visualization Packagist] * [https://packagist.org/packages/sebastian/exporter sebastian/exporter] * [https://packagist.org/packages/symfony/var-dumper symfony/var-dumper] = Version number managing of Git-hosted PHP projects = * Packagist: [https://packagist.org/search/?q=version version] * [https://packagist.org/packages/sebastian/version sebastian/version] = Web Frameworks = * [https://packagist.org/packages/silex/silex silex/silex] based on symfony components https://packagist.org/search/?q=silex [[Image(https://poser.pugx.org/silex/silex/downloads, link=https://packagist.org/packages/silex/silex, title=silex/silex)]] * [http://slimframework.com/ Slim: a micro framework for PHP] (with ((Stack?)) Middleware support) [https://packagist.org/packages/slim/slim slim/slim] [[Image(https://poser.pugx.org/slim/slim/downloads, link=https://packagist.org/packages/slim/slim, title=slim/slim)]] * [https://packagist.org/packages/cicada/cicada cicada/cicada] based on symfony components [[Image(https://poser.pugx.org/cicada/cicada/downloads, link=https://packagist.org/packages/cicada/cicada, title=cicada/cicada)]] * [https://packagist.org/packages/yosymfony/httpserver yosymfony/httpserver] [[Image(https://poser.pugx.org/yosymfony/httpserver/downloads, link=https://packagist.org/packages/yosymfony/httpserver, title=yosymfony/httpserver)]] * [https://packagist.org/packages/react/espresso react/espresso] Silex wired with radioactive caffeine. [[Image(https://poser.pugx.org/react/espresso/downloads, link=https://packagist.org/packages/react/espresso, title=react/espresso)]] = Web Applications = * [https://miniflux.net/ miniflux.net] Miniflux is a minimalist RSS reader * [https://kanboard.net/ kanboard.net] Kanboard is a project management software that uses the Kanban methodology