= 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://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://github.com/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 = 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 = Asynchronous IO 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: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 == * [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] = 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] = Assertion = * https://packagist.org/search/?q=assertion * [https://packagist.org/packages/jacobstr/esperance jacobstr/esperance] * [https://packagist.org/packages/esperance/esperance esperance/esperance] = Error handling = * [https://packagist.org/packages/filp/whoops filp/whoops] = 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] = Test framework = * behat * [https://packagist.org/packages/peridot-php/peridot peridot-php/peridot] = 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] = 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] = Libraries = * [https://packagist.org/packages/behat/transliterator behat/transliterator] = Web Frameworks = * [https://packagist.org/packages/cicada/cicada cicada/cicada] based on symfony components * [https://packagist.org/packages/silex/silex silex/silex] based on symfony components https://packagist.org/search/?q=silex * [https://packagist.org/packages/yosymfony/httpserver yosymfony/httpserver] * [https://packagist.org/packages/react/espresso react/espresso] Silex wired with radioactive caffeine. = Static site generator = * [https://packagist.org/packages/spress/spress spress/spress] = 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