= Development = == PHP Development Tools == * [WikiPedia:PHP_Development_Tools] (PDT) * [DebianPackage:eclipse-pdt] * [http://www.eclipse.org/pdt/#download download] on installed eclipse == Debug bar == * [https://packagist.org/packages/maximebf/debugbar maximebf/debugbar] Debug bar in the browser for php application * [https://packagist.org/packages/php-middleware/php-debug-bar php-middleware/php-debug-bar] == Static analyzer == * Static analyzer for PHP [https://www.google.ca/search?q=Static+analyzer+for+PHP Google] === About === * [http://blog.codacy.com/2014/05/06/php-static-analysis-tools/ Review of PHP Static Analysis Tools] === Lists of tools === * [https://github.com/exakat/php-static-analysis-tools Static analysis tools for PHP] * [http://phpqatools.org/ phpqatools.org] The PHP Quality Assurance Toolchain === Tools === * [https://packagist.org/packages/etsy/phan etsy/phan] * https://github.com/nikic/php-ast * [https://packagist.org/packages/phpmetrics/phpmetrics phpmetrics/phpmetrics] Static analyzer tool for PHP : Coupling, Cyclomatic complexity, Maintainability Index, Halstead's metrics... and more ! [http://phpmetrics.org/ phpmetrics.org] * [https://packagist.org/packages/phpmetrics/composer-extension phpmetrics/composer-extension] == Compiling PHP (to be able to use recent versions) == === [http://phpbrew.github.io/phpbrew/ PHPBrew] === * [https://packagist.org/packages/phpbrew/phpbrew phpbrew/phpbrew] Useless in 2016-10 follow official dowload instructions instead (php phar) * [https://github.com/phpbrew/phpbrew/wiki/Quick-Start Quick-Start] * [https://github.com/phpbrew/phpbrew/wiki/Extension-Installer Extension-Installer] * [https://github.com/phpbrew/phpbrew/wiki/Cookbook Cookbook] * PHPBrew can also install some other utilities for PHP (see ...). ==== About ==== * [https://www.sitepoint.com/use-phpbrew-virtphp/ How to Use PHPbrew and VirtPHP] * [https://www.devsaran.com/blog/phpbrew-and-virtphp-two-incredibly-effective-tools-php-developers PHPbrew and VirtPHP - Two incredibly effective tools for PHP developers] ==== configure: error: Cannot find OpenSSL's libraries ==== * [https://www.google.ca/search?q=configure%3A+error%3A+Cannot+find+OpenSSL%27s+libraries Google] * [https://github.com/phpbrew/phpbrew/issues/2 configure error under ubuntu #2] * [http://zgadzaj.com/how-to-install-php-53-and-52-together-on-ubuntu-1204 How to install PHP 5.3 and 5.2 together on Ubuntu 12.04] ==== Example ==== {{{#!sh $ curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew $ ./phpbrew $ ./phpbrew init Using root: /home/.../.phpbrew Initialization successfully finished! <=====================================================> Phpbrew environment is initialized, required directories are created under /home/jean-bernard/.phpbrew Paste the following line(s) to the end of your ~/.bashrc and start a new shell, phpbrew should be up and fully functional from there: source /home/jean-bernard/.phpbrew/bashrc To enable PHP version info in your shell prompt, please set PHPBREW_SET_PROMPT=1 in your `~/.bashrc` before you source `~/.phpbrew/bashrc` export PHPBREW_SET_PROMPT=1 To enable .phpbrewrc file searching, please export the following variable: export PHPBREW_RC_ENABLE=1 For further instructions, simply run `phpbrew` to see the help message. Enjoy phpbrew at $HOME!! <=====================================================> # ./phpbrew install --with-openssl 7.0 +default -mcrypt +dbs +mb # ./phpbrew install 7.0 +default -mcrypt +dbs +mb --with-openssl $ ./phpbrew install 7.0 +default -mcrypt +dbs +mb -- --with-openssl # env PHPBREW_PHP=php-7.0.11 ./phpbrew ext install github:nikic/php-ast php7 $ env PHPBREW_PHP=php-7.0.11 ./phpbrew ext install github:nikic/php-ast $ ~/.phpbrew/php/php-7.0.11/bin/php -i |less $ ~/.phpbrew/php/php-7.0.11/bin/php composer require etsy/phan $ ~/.phpbrew/php/php-7.0.11/bin/php vendor/bin/phan --help }}} = Help about PHP = * [http://www.php-fig.org/faqs/#can-you-help-me-with-my-php-code Can you help me with my PHP code?] * [http://reddit.com/r/phphelp Reddit] * [http://stackoverflow.com/questions/tagged/php Stack Overflow] * [http://php.net/manual/ PHP Manual] (especially the comments) * [http://phptherightway.com PHP: The Right Way] = Conferences = * [https://world.phparch.com/schedule/ PHP[WORLD]] = Web Articles = * //[http://fabien.potencier.org/on-php-5-3-lambda-functions-and-closures.html On PHP 5.3, Lambda Functions, and Closures]// Fabien Potencier 2009 = Books = * php 7 programming [http://www.worldcat.org/search?q=php+7+programming WorldCat] * advanced php programming [http://www.worldcat.org/search?q=advanced+php+programming WorldCat] * //[http://www.worldcat.org/title/php-advanced-and-object-oriented-programming PHP advanced and object-oriented programming]// 2013 * //[http://www.worldcat.org/title/php-and-postgresql-advanced-web-programming PHP and PostgreSQL : advanced Web programming]// 2002 = Example code = * https://github.com/thephpleague/skeleton * Contains Travis CI configuration = PHP Syntax = == php double colon class == * [https://www.google.ca/search?q=php+double+colon+class Google] * [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?] * [https://laracasts.com/discuss/channels/tips/double-colon-class Double colon class] = What is new = == What is new in php 7== * [http://gophp7.org/gophp7-ext/ Home of the GoPHP7 extensions project] * [https://www.sitepoint.com/learn-php-7-find-out-whats-new-and-more/ Learn PHP 7, Find out What’s New, and More] = Recommandations and Norms = == PHP Framework Interop Group == * [http://php-fig.org/ php-fig.org] === PHP Standards Recommendations === * [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] [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(http://phppackages.org/p/psr/log/badge/rank.svg, link=http://phppackages.org/p/psr/log, title=psr/log,)]] [[Image(https://img.shields.io/packagist/dm/psr/log.svg, link=https://packagist.org/packages/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,)]] [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,)]] [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)]] [[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,)]] [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)]])// [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)]] * [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)]] [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)]] [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-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)]])// [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)]] * ... * [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)]] * [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)]] * [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)]] * [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. * [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 * [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 [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)]] [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] [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,)]] = 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 = == [https://packagist.org/packages/hybridauth/hybridauth hybridauth/hybridauth] == http://hybridauth.sourceforge.net/userguide.html {{{#!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 ==== [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) ==== [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/ ==== [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] ==== [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] = PHP Security Programming = * http://stackoverflow.com/questions/6474783/which-server-variables-are-safe * http://stackoverflow.com/questions/4247704/how-tamper-proof-is-the-server-variable-in-php = PHP Programming = * http://php.net/manual/en/language.constants.predefined.php * http://php.net/manual/en/function.getcwd.php * http://stackoverflow.com/questions/4645082/get-absolute-path-of-current-script * php+curent+directory * http://php.net/manual/en/reserved.variables.environment.php * http://php.net/manual/en/function.phpinfo.php * http://php.net/manual/en/function.readlink.php * http://stackoverflow.com/questions/12580330/php-dirname-returns-symlink-path * https://bugs.php.net/bug.php?id=46260 * php+symlink+path * http://php.net/manual/en/function.dirname.php == Namespaces == * https://www.youtube.com/results?search_query=php+namespaces * http://knpuniversity.com/screencast/php-namespaces-in-120-seconds = Testing = * testing [https://packagist.org/search/?q=testing Packagist] == BDD Testing == * BDD testing [https://packagist.org/search/?q=BDD%20testing Packagist] * [https://packagist.org/packages/codeception/codeception codeception/codeception] == Unit Testing == * unit testing [https://packagist.org/search/?q=unit%20testing packagist] * [https://packagist.org/packages/phpunit/phpunit phpunit/phpunit] [[Image(https://img.shields.io/packagist/dm/phpunit/phpunit.svg, link=https://packagist.org/packages/phpunit/phpunit, title=phpunit/phpunit)]] The PHP Unit Testing framework. * [https://packagist.org/packages/atoum/atoum atoum/atoum] [[Image(https://img.shields.io/packagist/dm/atoum/atoum.svg, link=https://packagist.org/packages/atoum/atoum, title=atoum/atoum)]] Simple modern and intuitive unit testing framework for PHP 5.3+ * atoum [https://packagist.org/search/?q=atoum atoum] ... [https://packagist.org/packages/atoum/atoum-bundle atoum-bundle] == Functional or acceptance testing == * [http://docs.behat.org/en/v2.5/cookbook/behat_and_mink.html Developing web applications with behat and mink] * [https://packagist.org/packages/behat/mink behat/mink] * [https://packagist.org/packages/behat/mink-goutte-driver behat/mink-goutte-driver] It'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 * Something similar is available in Python. == Coding Standards == === About Coding Standards === * [WikiPedia:Coding_conventions] * [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) * [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] * * [https://www.drupal.org/docs/develop/standards Drupal] * [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] * [http://symfony.com/doc/current/contributing/code/standards.html Symfony] * 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) * [https://www.tutorialspoint.com/php/php_coding_standard.htm PHP - Coding Standard] * [http://flowframework.readthedocs.io/en/stable/TheDefinitiveGuide/PartV/CodingGuideLines/PHP.html PHP Coding Guidelines & Best Practices] * [http://stackoverflow.com/questions/139427/which-coding-convention-to-follow-for-php Which Coding convention to follow for PHP?] == Detecting coding standards' violations == === PHP_CodeSniffer === * 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")]] * [https://packagist.org/packages/squizlabs/php_codesniffer squizlabs/php_codesniffer] * [https://packagist.org/packages/leaphub/phpcs-symfony2-standard leaphub/phpcs-symfony2-standard] * [https://github.com/squizlabs/PHP_CodeSniffer/wiki/Fixing-Errors-Automatically Fixing Errors Automatically] === php-cs-fixer === * php-cs-fixer [https://packagist.org/search/?q=php-cs-fixer Packagist] * [https://packagist.org/packages/friendsofphp/php-cs-fixer friendsofphp/php-cs-fixer] * [https://packagist.org/packages/fabpot/php-cs-fixer fabpot/php-cs-fixer] Abandoned! * [http://cs.sensiolabs.org/ PHP Coding Standards Fixer] == Test framework == * behat * [https://packagist.org/packages/peridot-php/peridot peridot-php/peridot] = how to manage object dependencies = * //[http://fabien.potencier.org/what-is-dependency-injection.html What is Dependency Injection?]// [http://fabien.potencier.org/ Fabien Potencier] 2009 * //[http://ralphschindler.com/2011/05/18/learning-about-dependency-injection-and-php Learning About Dependency Injection and PHP]// [http://ralphschindler.com/ Ralph Schindler] 2011 = 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 === 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?)) = 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] = 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] = 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 = People = * [https://r.je/ Tom Butler's Programming Blog. MVC, PHP, Best practices] [https://packagist.org/packages/level-2/dice level-2/dice] A minimalist Dependency injection container (DIC) for PHP