= 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] = 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] * [https://packagist.org/search/?q=psr-3 PSR-3] [https://packagist.org/packages/psr/log psr/log] [https://packagist.org/search/?q=psr%2Flog ?] [[Image(https://img.shields.io/packagist/dm/psr/log.svg, link=https://packagist.org/packages/psr/log, title=psr/log)]] [https://packagist.org/providers/psr/log-implementation providers] [https://packagist.org/packages/monolog/monolog monolog/monolog] [[Image(https://img.shields.io/packagist/dm/monolog/monolog.svg, link=https://packagist.org/packages/monolog/monolog, title=monolog/monolog)]] * [https://packagist.org/search/?q=psr-7 PSR-7] [https://packagist.org/packages/psr/http-message psr/http-message] [https://packagist.org/search/?q=psr%2Fhttp-message ?] [[Image(https://img.shields.io/packagist/dm/psr/http-message.svg, link=https://packagist.org/packages/psr/http-message, title=psr/http-message)]] [https://packagist.org/providers/psr/http-message-implementation providers] [https://packagist.org/packages/zendframework/zend-diactoros zendframework/zend-diactoros] [[Image(https://img.shields.io/packagist/dm/zendframework/zend-diactoros.svg, link=https://packagist.org/packages/zendframework/zend-diactoros, title=zendframework/zend-diactoros)]] (for comparison [https://packagist.org/packages/symfony/http-foundation symfony/http-foundation] [[Image(https://img.shields.io/packagist/dm/symfony/http-foundation.svg, link=https://packagist.org/packages/symfony/http-foundation, title=symfony/http-foundation)]]) * [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/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] == 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] == 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. ZF3 is also out, now each module has its own independent version. * 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-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] ==== * 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] * Zend Framework 2.0 by Example: Beginner’s Guide * [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] * [DebianPackage:zendframework] == 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. == 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, 5%, link=https://tracker.debian.org/pkg/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] = Asynchronous IO Programming = * [WikiPedia:Concurrent_computing], [WikiPedia:Concurrent_object-oriented_programming] == General libraries == === 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] ==== 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 == 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] * [https://packagist.org/packages/evenement/evenement evenement/evenement] == Event loop == * [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/jacobstr/esperance jacobstr/esperance] * [https://packagist.org/packages/esperance/esperance esperance/esperance] == BDD Assertion == * BDD assertion [https://packagist.org/search/?q=BDD%20assertion Packagist] * [https://packagist.org/packages/codeception/verify codeception/verify] = 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 = * middleware [https://packagist.org/search/?q=middleware Packagist] * [https://igor.io/2013/02/02/http-kernel-middlewares.html HttpKernel middlewares] == 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 === 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] = Static site generator = * [https://packagist.org/packages/spress/spress spress/spress] = String = * [https://packagist.org/packages/behat/transliterator behat/transliterator] String transliterator = 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