Version 42 (modified by 7 years ago) ( diff ) | ,
---|
Development
PHP Development Tools
- PHP_Development_Tools (PDT)
- eclipse-pdt
- download on installed eclipse
Debug bar
- maximebf/debugbar Debug bar in the browser for php application
- php-middleware/php-debug-bar
Static analyzer
- Static analyzer for PHP Google
About
Lists of tools
- Static analysis tools for PHP
- phpqatools.org The PHP Quality Assurance Toolchain
Tools
- etsy/phan
- phpmetrics/phpmetrics Static analyzer tool for PHP : Coupling, Cyclomatic complexity, Maintainability Index, Halstead's metrics... and more ! phpmetrics.org
Compiling PHP (to be able to use recent versions)
PHPBrew
- phpbrew/phpbrew Useless in 2016-10 follow official dowload instructions instead (php phar)
- Quick-Start
- Extension-Installer
- Cookbook
- PHPBrew can also install some other utilities for PHP (see ...).
About
- How to Use PHPbrew and VirtPHP
- PHPbrew and VirtPHP - Two incredibly effective tools for PHP developers
configure: error: Cannot find OpenSSL's libraries
Example
$ 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
- Can you help me with my PHP code?
- Stack Overflow
- PHP Manual (especially the comments)
- PHP: The Right Way
Conferences
Web Articles
- On PHP 5.3, Lambda Functions, and Closures Fabien Potencier 2009
Books
- php 7 programming WorldCat
- advanced php programming WorldCat
- PHP advanced and object-oriented programming 2013
- PHP and PostgreSQL : advanced Web programming 2002
Example code
- https://github.com/thephpleague/skeleton
- Contains Travis CI configuration
PHP Syntax
php double colon class
What is new
What is new in php 7
Recommandations and Norms
PHP Framework Interop Group
PHP Standards Recommendations
- php-fig.org/psr
- psr Packagist
- psr implementation Packagist
- Debian: php-psr
- interop Packagist
- PSR-3 psr/log ? [[Image(...)]] [[Image(...)]] [[Image(...)]] providers
- PSR-7 psr/http-message ? [[Image(...)]] [[Image(...)]] providers
-
- zendframework/zend-diactoros (for comparison symfony/http-foundation )
- PSR-6 psr/cache ? [[Image(...)]] providers
- PSR-14 psr/event-manager ? [[Image(...)]] providers
- bee4/events ? [[Image(...)]] providers
- PSR-11 psr/container ? [[Image(...)]] providers
-
- phossa2/di (for comparison symfony/dependency-injection )
- container-interop/container-interop ? [[Image(...)]] providers
-
- The top 3 are recommanded by:
- zendframework/zend-servicemanager
- xtreamwayz/pimple-container-interop (based on pimple/pimple )
- aura/di
- ...
- php-di/php-di
- league/container
- mouf/pimple-interop
- vaibhavpandeyvpz/katora Minimal service container implementing container-interop/container-interop interfaces.
- conformity/container Lean PSR11 compatible dependency injection container
- leemason/container Lean PSR11 compatible dependency injection container
- PSR-16 psr/simplecache ? [[Image(...)]] providers
- PSR-15 psr/middleware ? [[Image(...)]] providers
-
- [not yet implemented]
- zendframework/zend-expressive-router ? [[Image(...)]] dependents
Middlewares
- PSR 15 @ php-fig.org/psr
Stack
- stackphp.com GitHub stackphp
- StackPHP Explained
- StackPHP Middleware
- Slim: a micro framework for PHP (with ((Stack? -> psr-7?)) Middleware support) slim/slim
Top packages
Top Rank
- twig/twig
- monolog/monolog
- phpunit/phpunit
- symfony/event-dispatcher
- symfony/console
- doctrine/inflector
- laravel/framework
- laravel/laravel
- illuminate/database
- laravel/lumen-framework
- laravel/socialite
- illuminate/console
- league/flysystem
- league/event
- yiisoft/yii2
- sebastian/comparator
- swiftmailer/swiftmailer
- phpdocumentor/reflection-docblock
- phpspec/prophecy
- webmozart/assert
- nikic/php-parser
- nesbot/carbon
- fzaninotto/faker
- myclabs/deep-copy
- vlucas/phpdotenv
- psy/psysh
- mockery/mockery
- jeremeamia/SuperClosure
- classpreloader/classpreloader
- mtdowling/cron-expression
- jakub-onderka/php-console-highlighter
- jdorn/sql-formatter
- squizlabs/php_codesniffer
- phpseclib/phpseclib
- ircmaxell/password-compat
- zendframework/zend-eventmanager
- zendframework/zend-diactoros
- zendframework/zend-mail
- zendframework/zend-console
- zendframework/zend-di
- incenteev/composer-parameter-handler
- react/promise
- kriswallsmith/assetic
- behat/transliterator
- phpoffice/phpexcel
- phpoption/phpoption
- jms/parser-lib
- phpcollection/phpcollection
- jms/serializer
- pimple/pimple
- ocramius/proxy-manager
- firebase/php-jwt
- gedmo/doctrine-extensions
- container-interop/container-interop
- michelf/php-markdown
- willdurand/negotiation
- intervention/image
- google/apiclient
- mobiledetect/mobiledetectlib
- phpspec/phpspec
- imagine/imagine
- fabpot/goutte
- knplabs/knp-menu
- composer/installers
- phenx/php-font-lib
- dompdf/dompdf
- ezyang/htmlpurifier
- maximebf/debugbar
- seld/jsonlint
- kriswallsmith/buzz
- geoip2/geoip2
- elasticsearch/elasticsearch
- cocur/slugify
- danielstjules/stringy
- filp/whoops
- codeception/codeception
- phpmailer/phpmailer
- mikey179/vfsStream
- nikic/fast-route
- stack/builder
- patchwork/utf8
- erusev/parsedown
- silex/silex
- egulias/email-validator
- ruflin/elastica
- phing/phing
- cakephp/cakephp
- phpbench/phpbench
- cakephp/chronos
- beberlei/DoctrineExtensions
- slim/slim
- tecnickcom/tcpdf
- evenement/evenement
- beberlei/assert
- phenx/php-svg-lib
- pagerfanta/pagerfanta
- illuminate/events
- d11wtq/boris
- nelmio/alice
- phploc/phploc
- league/event
- sonata-project/admin-bundle
- leafo/lessphp
- masterminds/html5
- friendsofphp/php-cs-fixer
- google/recaptcha
- clue/stream-filter
- leafo/scssphp
- willdurand/geocoder
- php-http/httplug
- lusitanian/oauth
- mpdf/mpdf
- nategood/httpful
- pelago/emogrifier
- fxp/composer-asset-plugin
- smarty/smarty
- mustache/mustache
- solarium/solarium
- league/climate
- alchemy/zippy
- johnpbloch/wordpress
- doctrine/instantiator
- doctrine/annotations
- doctrine/cache
- doctrine/lexer
- doctrine/collections
- doctrine/dbal
- doctrine/orm
- doctrine/doctrine-bundle
- doctrine/data-fixtures
- doctrine/migrations
- simplethings/entity-audit-bundle
- jackalope/jackalope
- prezent/doctrine-translatable
- piwik/cache
- fpn/doctrine-extensions-taggable
- couscous/couscous
- league/plates
- foil/foil
- simple-bus/message-bus
- simple-bus/asynchronous-bundle
- spoon/library
- forkcms/forkcms
- simple-bus/symfony-bridge
- slim/slim
- creof/doctrine2-spatial
- oro/doctrine-extensions
- workerman/workerman
- woocommerce/woocommerce
- bolt/bolt
- robmorgan/phinx
- wp-cli/wp-cli
- phpseclib/phpseclib
- deployer/deployer
- sylius/sylius
- hollodotme/fast-cgi-client
- Devel
- phpmd/phpmd PMD_(software)
- Framework
- codeigniter/framework tag: PHPPackages.org, Packagist
- cakephp/cakephp tag: [], Packagist
- nette/nette
- atk4/atk4
- fuel/fuel
- bcosca/fatfree tag: PHPPackages.org, Packagist
- neos/flow neos-base-distribution
- CMS PHPPackages.org
- neos/neos
- https://phppackages.org/s/typo3 extension-nc_staticfilecache
- contao/core [no cms keyword]
- CMS_Made_Simple
- flat file CMS (flat-file) PHPackages.org
- getgrav/grav
- picocms/pico
- Dependency Injection
- mouf/mouf
- database
- Abstraction layer (dbal) PHPPackages.org, Packagist
- doctrine/dbal
- nette/database
- vrana/notorm [2014 dev-master] http://www.notorm.com/ https://github.com/vrana/notorm
- devco/trilogy [sqlite ?]
- dibi/dibi
- adodb/adodb-php
- zetacomponents/database
- czogori/rentgen
- wikibase/database
- icomefromthenet/dbal-gateway Table Gateway for Doctrine DBAL
- mos/cdatabase ?
- aura/sqlschema Provides facilities to read table names and table columns from a database using PDO.
- ride/lib-database
- opis/database
- Query builder or writer PHPPackages.org, Packagist
- j4mie/idiorm A lightweight nearly-zero-configuration object-relational mapper and fluent query builder for PHP5
- lichtner/fluentpdo FluentPDO is small PHP library for rapid query building. Killer feature is smart join builder which generates joins automatically.
- usmanhalalit/pixie A lightweight, expressive, framework agnostic query builder for PHP.
- catfan/medoo The Lightest PHP database framework to accelerate development [Query builder and abstraction layer]
- mouf/database.querywriter
- nette/database
- aviat4ion/query
- kohana/database
- aura/sqlquery
- elnur/database-bundle
- wikibase/query-engine
- wikibase/query
- fpdo/fluentpdo FluentPDO is small PHP library for rapid query building. Killer feature is smart join builder which generates joins automatically.
- fguillot/picodb
- Fixtures (far incomplete search)
- fzaninotto/faker
- nelmio/alice [fixture, faker]
- doctrine/data-fixtures
- davidbadura/fixtures
- sp/fixture-dumper Dump fixtures from doctrine.
- openbuildings/db-fixtures
- Migrations
- way/generators [laravel]
- robmorgan/phinx Phinx makes it ridiculously easy to manage the database migrations for your PHP app.
- doctrine/migrations Database Schema migrations using Doctrine DBAL
- xethron/migrations-generator [laravel,...] Generates Laravel Migrations from an existing database
- davedevelopment/phpmig [It's kind of like doctrine migrations, without the doctrine.]
- ruckusing/ruckusing-migrations
- elnur/database-migrations
- cakephp/migrations Database Migration plugin for CakePHP 3.0 based on Phinx
- jimbojsb/yak
- openbuildings/timestamped-migrations
- nextras/migrations
- kohana-minion/tasks-migrations
- ORM PHPPackages.org, Packagist
- also see frameworks like igniter, fat free...
- (fr) « ORM or not ORM » : Faut-il les utiliser ou continuer d'écrire simplement des requêtes SQL ?
- doctrine/orm
- illuminate/database
- j4mie/idiorm A lightweight nearly-zero-configuration object-relational mapper and fluent query builder for PHP5
- gabordemooij/redbean
- php-activerecord/php-activerecord
- propel/propel
- j4mie/paris A lightweight Active Record implementation for PHP5, built on top of Idiorm
- phreeze/phreeze A lightweight ORM + MVC framework for PHP
- codesleeve/stapler Elegant and simple ORM-based file upload package for php. [orm add on]
- pomm/pomm
- michaldudek/knit
- vlucas/spot2 Simple DataMapper built on top of Doctrine DBAL
- mouf/database.tdbm
- respect/data
- kohana/orm
- pomm/pomm PHP Object Model Manager for Postgresql
- pomm/pomm-bundle
- corneltek/lazyrecord
- phormium/phormium
- openbuildings/jam [cf Kohana]
- tharos/leanmapper Tiny ORM based on powerful dibi database abstraction library for PHP 5.
- phpixie/orm
- fuel/orm
- fuelphp/orm
- icanboogie/activerecord
- onemightyroar/php-activerecord-components
- brandonlamb/spot DataMapper ORM for PHP 5.5+
- electricmaxxx/doctrine-orm-odm-adapter
- uestla/yetorm Lightweight ORM for Nette\Database
- jasny/db Adds modern OOP DB patterns by extending PHP extensions
- ride/lib-orm
- rmzamora/entity-audit-bundle Audit for Doctrine Entities
- nextras/orm [Nette]
- kappa/doctrine Collection of classes for better work with Doctrine
- obo/obo Event driven ORM and domain logic library
- morris/lessql tag: Packagist LessQL: The agile PHP ORM alternative
- https://github.com/cirkuitnet/PHP-SmartDB
- https://packagist.org/packages/
- https://packagist.org/packages/
- https://packagist.org/packages/
- Tree
- bluem/tree
- Manager (Admin)
- vrana/adminer
- Postgres
- ajgl/doctrine-dbal-pgsql-types
- jsor/doctrine-postgis Spatial and Geographic Data with PostGIS and Doctrine.
- Flat file document database
- jamesmoss/flywheel
- https://packagist.org/packages/
- https://packagist.org/packages/
- https://packagist.org/packages/
- https://packagist.org/packages/
- https://packagist.org/packages/
Top References
Top Monthly Download
Top Download
IDE, editing code
- Comparison_of_integrated_development_environments#PHP
- PHP_Development_Tools
- php development tools site:debian.org
- https://help.ubuntu.com/community/EclipsePDT
- Eclipse_Che
- https://packages.debian.org/en/eclipse
- https://help.ubuntu.com/community/EclipseIDE
- PHP_Development_Tools
- Class_browser
- Code_refactoring
- eclipse only open source solution 2016-09
Packagist, Badges and Continuous Integration
Packagist badges
About Continuous Integration
- PHP and Continuous Integration with Travis CI
- Visualize Your Code’s Quality with PhpMetrics
- Continuous Integration with PHP-CI
- You don't realize your code sucks. Travis and Scrutinizer FTW
Continuous Integration Providers
Package system
- puli Packagist puli/cli
- php-http/discovery Finds installed HTTPlug implementations and PSR-7 message factories
- php-http/message Message Factory (docs)
PHP Libraries
hybridauth/hybridauth
http://hybridauth.sourceforge.net/userguide.html
$ composer require hybridauth/hybridauth
Google::
- easy
- easy
OpenID::
- easy (no secret information needed)
- 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
- 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
- Getting Your Client ID for Web Authentication
- https://account.live.com
- Mes applications
- https://developers.facebook.com/apps needs a phone number (sound or text) or a credit card
jessie (stable) | bpo | stretch (testing) | /usr/share/php/ | ||||
php5-apcu | /usr/share/php/ | ||||||
composer/composer | 2016-03-27 | b | # | composer | Composer | ||
hybridauth/hybridauth | 2016-01-12 | 2.6 | |||||
psr/log | 2012-12-21 | 1.0 | 1.0 | 1.0 | php-psr-log | Psr/Log | |
symfony/symfony | 2016-02-28 | 3.0 | 2.3 | 2.8 | php-symfony-framework-bundle | Symfony/Bundle/FrameworkBundle | |
zendframework1, zendframework1 | zendframework | /usr/share/php/ | |||||
zendframework 2 | php-zend- | ||||||
zendframework/zendsearch | php-zend-search | /usr/share/php/ | |||||
https://packagist.org/packages/ | DebianPackage | /usr/share/php/ | |||||
https://packagist.org/packages/ | DebianPackage | /usr/share/php/ |
APCu and APC
Aura
Container Interoperability
Drupal
Symfony
The League of Extraordinary Packages
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. !! I had not been able to navigate ZEnd doc website!
- zf2-documentation release-2.3.9 GitHub
- 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 Packt, WorldCat, BAnQ
French
zend-cache (-memory)
zend-di
zend-diactoros
PSR HTTP Message implementations (New in ZF3)
zendframework/zend-diactoros
zend-expressive
Develop PSR-7 middleware applications in minutes! (New in ZF3)
zendframework/zend-expressive
zend-feed
zendframework/zend-feed
- 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).
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 GitHub
- (php-zend-mail not yet)
zf1/zend-mail
- https://framework.zend.com/manual/1.12/en/zend.mail.html fr
- https://framework.zend.com/apidoc/1.10/_Mail.html
- zendframework
zend-search(-lucene)
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 GitHub
- readthedocs
- Zend Framework 2.0 by Example: Beginner’s Guide Krishna Shasankar Packt 2013
- php-zend-search
- search-bundle Packagist
zf1/zend-search-lucene
- https://framework.zend.com/manual/1.12/en/zend.search.lucene.html fr
- Day 17: Search
- zendframework
zend-servicemanager
Packages
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 Packagist
BDD Testing
- BDD testing Packagist
- codeception/codeception
Unit Testing
- unit testing packagist
- phpunit/phpunit The PHP Unit Testing framework.
- atoum/atoum Simple modern and intuitive unit testing framework for PHP 5.3+
- atoum atoum ... atoum-bundle
Functional or acceptance testing
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
- Coding_conventions
- Coding Standards Sample File (including Docblock Comment standards) (file doc comment)
- PSR-1: Basic Coding Standard PSR-2: Coding Style Guide *
- Drupal
- Zend Framework Coding Standard for PHP Coding Style
- Symfony
- symfony3 coding standard Packagist escapestudios/symfony2-coding-standard (bug: search files from executable folder, instead of current directory)
- PHP - Coding Standard
- PHP Coding Guidelines & Best Practices
- Which Coding convention to follow for PHP?
Detecting coding standards' violations
PHP_CodeSniffer
- PHP_CodeSniffer Packagist php-codesniffer
- squizlabs/php_codesniffer
- leaphub/phpcs-symfony2-standard
- Fixing Errors Automatically
php-cs-fixer
- php-cs-fixer Packagist
- friendsofphp/php-cs-fixer
- fabpot/php-cs-fixer Abandoned!
- PHP Coding Standards Fixer
Test framework
- behat
- peridot-php/peridot
how to manage object dependencies
- What is Dependency Injection? Fabien Potencier 2009
- Learning About Dependency Injection and PHP Ralph Schindler 2011
Asynchronous IO Programming
- Concurrent_computing, Concurrent_object-oriented_programming
- The promise of asynchronous PHP Wim Godden 2015
General libraries
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
- Reactor_pattern, Explanation of the “Reactor pattern”, Reactive_programming, Proactor_pattern (Boost.Asio and maybe some parts of Python asyncio]
- Async PHP with React Jeremy Mikola 2015
The name
Packages
- from react https://packagist.org/search/?q=react https://github.com/reactphp, http://reactphp.org/
- react/event-loop
- suggests:
- Libevent php.net/manual pecl How do you install Libevent for PHP? keyword:php ext libevent site:packages.debian.org
- Event docs.php.net
- Libev php.net/manual/en/book php.net/manual/en/intro pecl
- litgroup/event-loop-bundle
- suggests:
- react/react
- react/promise php-react-promise
- react/http-client
- gos/pnctl-event-loop-emitter
- mkraemer/react-pcntl PCNTL bindings for ReactPHP
- recoil/recoil Coroutines
- icecave/mephisto An asynchronous process management library for React. (uses extension included in Debian 8 core module)
- react/mysql
- voryx/pgasync Async Reactive Postgres Driver for PHP (Non-blocking)
- jogaram/react-bundle
- itscaro/react-bundle
- webstronauts/react-bundle
- ftdebugger/react-zf2
Family
- 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
- workerman/workerman An asynchronous event driven PHP framework for easily building fast, scalable network applications.
Icicle
- Getting Started with Icicle : Write asynchronous code in PHP with synchronous coding techniques using promises and coroutines 2015
- Build a Superfast PHP Server in Minutes with Icicle Christopher Pitt 2015
ReactiveX
Event
- Event_(computing), Event-driven_programming
- Event-Driven Programming: Introduction, Tutorial, History
- Packagist: event
Event Dispatcher (not necessarily IO)
- Mediator_pattern (# to be moved...)
- Is the use of the mediator pattern recommend?
- Design_Patterns
- [Software_design_pattern]
- evenement/evenement
- event dispatcher mediator Google
- Writing Extensible Code Using Event Dispatcher YouTube Speaker Deck
Event loop
Promise (concurrent.futures in python)
- https://packagist.org/search/?q=promise promise
- react/promise php-react-promise
- guzzlehttp/promises php-guzzlehttp-promises
- php-http/promise
Coroutine
State machine
- Check link with Asynchronous IO
- Automata_theory, Automata-based_programming
- Packagist: state machine
- winzou/state-machine
- winzou/state-machine-bundle
Topic libraries
By alphabetical order
Assertion
- Would it belong to the test section?
- https://packagist.org/search/?q=assertion
- webmozart/assert Assertions to validate method input/output with nice error messages
BDD Assertion
- BDD assertion Packagist
- jacobstr/esperance
- esperance/esperance
- codeception/verify BDD assertion library for PHPUnit
CLI
Comparator
- Packagist: comparator
- sebastian/comparator
Diff
Error handling
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
- zendframework/zend-feed
- simplepie/simplepie
- fguillot/picofeed
Git
GitHub
- github Packagist
- knplabs/github-api
HTTP Clients
- https://packagist.org/search/?q=HTTP%20client
- php-http/httplug HTTPlug, the HTTP client abstraction for PHP
- guzzlehttp/guzzle
- fabpot/goutte Goutte is a thin wrapper around the following fine PHP libraries: Guzzle HTTP Component; Symfony Components: BrowserKit, CssSelector and DomCrawler.
- kriswallsmith/buzz
- zendframework/zend-http
- react/http-client
- aura/http
Middlewares (#TODO to be melded with other section
- middleware Packagist
- On HTTP, Middleware, and PSR-7 Matthew Weier O'Phinney 2015
- HttpKernel middlewares 2013
Stack
- stack/builder Builder for stack middlewares based on ((Symfony)) HttpKernelInterface.
- stack Packagist
PSR-7 (http-message) Middlewares
- oscarotero/psr7-middlewares Collection of HTTP middlewares compatible with PSR-7
- php-middleware (GitHub)
Stratigility
Slim Middleware
- Middleware
- slim/middleware ((up to date?))
Openid Connect
- https://packagist.org/search/?q=openid%20connect
- ivan-novakov/php-openid-connect-client
- jumbojett/openid-connect-php
Process control
- symfony
PCNTL
SQL
Static site generator
String
- behat/transliterator String transliterator
Timer, stopwatch (also on Symfony page)
Variables visualization
- variables visualization Packagist
- sebastian/exporter
- symfony/var-dumper
Version number managing of Git-hosted PHP projects
- Packagist: version
- sebastian/version
Web Frameworks
- silex/silex based on symfony components https://packagist.org/search/?q=silex
- Slim: a micro framework for PHP (with ((Stack?)) Middleware support) slim/slim
- cicada/cicada based on symfony components
- yosymfony/httpserver
- react/espresso Silex wired with radioactive caffeine.
Web Applications
- miniflux.net Miniflux is a minimalist RSS reader
- kanboard.net Kanboard is a project management software that uses the Kanban methodology
People
- Tom Butler's Programming Blog. MVC, PHP, Best practices level-2/dice A minimalist Dependency injection container (DIC) for PHP