A curated list of amazingly awesome PHP libraries, resources and shiny things.
2012-01-25 18:12:11 +00:00
2013-04-16 02:10:03 +00:00
## Composer
2012-08-28 16:35:06 +00:00
* [Composer](http://getcomposer.org/)/[Packagist](http://packagist.org/) - A package and dependency manager.
2013-02-15 23:00:19 +00:00
* [Composer Installers](https://github.com/composer/installers) - A multi framework Composer library installer.
2013-04-16 02:10:03 +00:00
2013-04-16 03:36:31 +00:00
## Composer Related
2013-04-16 02:10:03 +00:00
2013-04-01 15:21:28 +00:00
* [Satis](https://github.com/composer/satis) - A static Composer repository generator.
2013-04-16 02:10:03 +00:00
* [Composition](https://github.com/bamarni/composition) - A library to check your Composer environment at runtime.
* [Poser](https://github.com/FrenkyNet/Poser) - A Composer class aliasing library.
2013-06-18 16:01:17 +00:00
* [Version](https://github.com/herrera-io/php-version) - A parsing and comparison library for semantic versioning.
2013-04-16 02:10:03 +00:00
* [NameSpacer](https://github.com/ralphschindler/Namespacer) - A library to convert from underscores to namespaces.
2013-04-25 01:44:26 +00:00
* [Patch Installer](https://github.com/goatherd/patch-installer) - A library to install patches using Composer.
2013-04-16 02:10:03 +00:00
## Frameworks
2012-01-25 18:12:11 +00:00
* [Symfony2](http://symfony.com/) - A framework comprised of individual components.
2013-04-23 19:16:31 +00:00
* [Knp RAD Bundle](http://rad.knplabs.com/) - A Rapid Application Development (RAD) bundle for Symfony 2.
2013-01-30 22:44:55 +00:00
* [Zend Framework 2](http://framework.zend.com) - Another framework comprised of individual components.
2013-05-31 14:55:39 +00:00
* [Laravel 4](http://laravel.com/) - A simple PHP framework.
2012-12-07 17:20:11 +00:00
* [Lithium](http://lithify.me/) - Another framework of components.
2013-09-20 02:42:43 +00:00
* [Aura PHP](http://auraphp.com/) - A framework of independent components.
2013-04-16 02:10:03 +00:00
## Framework Components
2012-11-28 18:32:56 +00:00
* [Symfony2 Components](http://symfony.com/doc/master/components/index.html) - The components that make Symfony2.
2013-02-07 20:11:42 +00:00
* [Zend Framework 2 Components](https://packages.zendframework.com/) - The components that make ZF2.
2012-08-13 18:05:30 +00:00
* [Aura Components](http://auraphp.github.com/) - A package of PHP 5.4 components.
2013-04-16 02:10:03 +00:00
## Micro Frameworks
2012-01-25 18:12:11 +00:00
* [Silex](http://silex.sensiolabs.org/) - A micro framework built around Symfony2 components.
2013-02-07 20:19:02 +00:00
* [Silex Skeleton](https://github.com/fabpot/Silex-Skeleton) - A skeleton for Silex.
2013-08-16 15:46:57 +00:00
* [Silex Web Profiler](https://github.com/silexphp/Silex-WebProfiler) - A web debug toolbar for Silex.
2013-05-28 17:55:57 +00:00
* [Stack](https://github.com/stackphp) - A library of stackable middleware for Silex/Symfony.
2012-07-27 16:54:42 +00:00
* [Slim](http://www.slimframework.com/) - Another simple micro framework.
2013-06-09 07:23:24 +00:00
* [Slim Skeleton](https://github.com/codeguy/Slim-Skeleton) - A skeleton for Slim.
* [Slim Extras](https://github.com/codeguy/Slim-Extras) - A collection of extras for Slim.
2013-03-19 17:30:34 +00:00
* [Bullet PHP](http://bulletphp.com/) - A mico framework for building REST APIs.
2013-06-09 07:21:07 +00:00
* [Klein](https://github.com/chriso/klein.php) - A fast routing library.
2013-04-16 02:10:03 +00:00
## Templating
2012-01-25 18:12:11 +00:00
* [Twig](http://twig.sensiolabs.org/) - A comprehensive templating language.
2013-02-15 22:57:58 +00:00
* [Twig Cache Extension](https://github.com/asm89/twig-cache-extension) - A template fragment cache library for Twig.
2013-04-01 17:11:58 +00:00
* [Mustache](https://github.com/bobthecow/mustache.php) - A PHP implementation of the Mustache template language.
* [Phly Mustache](https://github.com/weierophinney/phly_mustache) - Another PHP implementation of the Mustache template language.
2012-11-05 17:03:10 +00:00
* [MtHaml](https://github.com/arnaud-lb/MtHaml) - A PHP implementation of the HAML template language.
2013-04-16 02:10:03 +00:00
* [Lex](https://github.com/pyrocms/lex) - A lightweight template parser.
## HTTP
* [Guzzle](http://guzzlephp.org/) - A HTTP client.
* [Buzz](https://github.com/kriswallsmith/Buzz) - Another HTTP client.
2013-05-01 03:26:33 +00:00
* [Requests](https://github.com/rmccue/Requests) - A simple HTTP library.
2013-04-16 02:10:03 +00:00
* [Goutte](https://github.com/fabpot/Goutte) - A simple web scraper.
## URL
* [Purl](https://github.com/jwage/purl) - A URL manipulation library.
* [PHP Domain Parser](https://github.com/jeremykendall/php-domain-parser) - A domain suffix parser library.
## Email
2012-01-25 18:12:11 +00:00
* [SwiftMailer](http://swiftmailer.org/) - A mailer solution.
2013-04-30 14:13:25 +00:00
* [PHPMailer](https://github.com/PHPMailer/PHPMailer) - Another mailer solution.
2013-04-16 02:10:03 +00:00
* [Fetch](https://github.com/tedivm/Fetch) - An IMAP library.
* [Email Reply Parser](https://github.com/willdurand/EmailReplyParser) - An email reply parser library.
2013-06-18 22:12:24 +00:00
* [Stampie](https://github.com/henrikbjorn/Stampie) - A library for email services such as [SendGrid](http://sendgrid.com), [PostMark](http://postmarkapp.com) and [MailGun](http://www.mailgun.com).
2013-04-16 02:10:03 +00:00
2013-05-03 15:42:12 +00:00
## File
* [Gaufrette](https://github.com/KnpLabs/Gaufrette) - A filesystem abstraction layer.
* [Canal](https://github.com/dflydev/dflydev-canal) - A library to determine internet media types.
2013-05-03 15:43:27 +00:00
* [Apache MIME Types](https://github.com/dflydev/dflydev-apache-mime-types) - A library that parses Apache MIME types.
2013-05-03 15:42:12 +00:00
* [Ferret](https://github.com/versionable/Ferret) - A MIME detection library.
2013-06-18 22:12:24 +00:00
* [Lurker](https://github.com/henrikbjorn/Lurker) - A resource tracking library.
2013-06-18 22:26:23 +00:00
* [PHP File Locator](https://github.com/herrera-io/php-file-locator) - A library for locating files in large projects.
2013-08-08 18:03:53 +00:00
* [PHP FFmpeg](https://github.com/alchemy-fr/PHP-FFmpeg/) - A wrapper for the [FFmpeg](http://www.ffmpeg.org/) video library.
2013-06-18 22:26:23 +00:00
## Streams
* [S3 Stream Wrapper](https://github.com/gwkunze/S3StreamWrapper) - A stream wrapper library for Amazon S3.
* [Streamer](https://github.com/fzaninotto/Streamer) - A simple object-orientated stream wrapper library.
2013-05-03 15:42:12 +00:00
2013-04-16 02:10:03 +00:00
## Dependency Injection
2012-01-25 18:12:11 +00:00
* [Pimple](http://pimple.sensiolabs.org/) - A tiny dependency injection container.
2012-10-09 16:22:58 +00:00
* [Auryn](https://github.com/rdlowrey/Auryn) - Another dependency injection container.
2013-03-13 04:55:16 +00:00
* [Di](https://github.com/orno/di) - Another flexible dependency injection container.
2013-01-28 18:58:50 +00:00
* [PHP DI](http://mnapoli.github.com/PHP-DI/) - A dependency injection implementation using annotations.
2013-09-30 20:41:03 +00:00
* [Acclimate](https://github.com/jeremeamia/acclimate) - A common interface to dependency injection containers and service locators.
2013-04-16 02:10:03 +00:00
## Imagery
2012-01-25 18:12:11 +00:00
* [Imagine](http://imagine.readthedocs.org/en/latest/index.html) - An image manipulation library.
2012-09-17 21:14:47 +00:00
* [PHP Image Workshop](https://github.com/Sybio/ImageWorkshop) - Another image manipulation library.
2012-09-24 20:22:40 +00:00
* [GIF Frame Extractor](https://github.com/Sybio/GifFrameExtractor) - A library to extract GIF animation frame information.
2012-09-26 15:19:07 +00:00
* [GIF Creator](https://github.com/Sybio/GifCreator) - A library to create GIF animations from multiple images.
2013-04-16 02:10:03 +00:00
## Testing
2012-01-25 18:12:11 +00:00
* [PHPUnit](https://github.com/sebastianbergmann/phpunit) - A unit testing framework.
2013-03-14 14:33:58 +00:00
* [ParaTest](https://github.com/brianium/paratest) - A parallel testing library for PHPUnit.
2012-10-18 18:56:47 +00:00
* [PHPSpec](https://github.com/phpspec/phpspec2) - A design by specification unit testing library.
2013-03-18 20:26:40 +00:00
* [Codeception](https://github.com/Codeception/Codeception) - A full stack testing framework.
* [Atoum](https://github.com/atoum/atoum) - A simple testing library.
2013-01-13 03:45:09 +00:00
* [Mockery](https://github.com/padraic/mockery) - A mock object library for testing.
* [Phake](https://github.com/mlively/Phake) - Another mock object library for testing.
* [Parody](https://github.com/dotink/Parody) - Yet another mock object library for testing.
2013-04-16 02:10:03 +00:00
* [Sismo](http://sismo.sensiolabs.org/) - A continuous testing server library.
2012-04-10 15:59:18 +00:00
* [Faker](https://github.com/fzaninotto/Faker) - A fake data generator library.
2013-04-16 02:10:03 +00:00
* [Alice](https://github.com/nelmio/alice) - An expressive fixture generation library.
* [Behat](http://behat.org/) - A Behaviour Driven Development framework.
* [Mink](http://mink.behat.org/) - Web acceptance testing.
2013-05-27 15:30:20 +00:00
* [HTTP Mock](https://github.com/InterNations/http-mock) - A library for mocking HTTP requests in unit tests.
2013-09-11 16:27:51 +00:00
* [VFS Stream](https://github.com/mikey179/vfsStream) - A virtual filesystem stream wrapper for testing.
2013-04-16 02:10:03 +00:00
## Documentation
2012-05-24 17:32:00 +00:00
* [Sami](https://github.com/fabpot/Sami) - An API documentation generator.
2013-03-22 15:56:17 +00:00
* [PHP Documentor 2](https://github.com/phpDocumentor/phpDocumentor2) - Another documentation generator.
2013-04-16 02:10:03 +00:00
## Security
* [HTML Purifier](https://github.com/ezyang/htmlpurifier) - A standards compliant HTML filter.
* [RandomLib](https://github.com/ircmaxell/RandomLib) - A library for generating random numbers and strings.
2013-07-22 15:34:51 +00:00
* [True Random](https://github.com/pixeloution/true-random) - A library that generates random numbers using [www.random.org](http://www.random.org/).
2013-04-16 02:10:03 +00:00
* [SecurityMultiTool](https://github.com/padraic/SecurityMultiTool) - A PHP security library.
* [Password Compat](https://github.com/ircmaxell/password_compat) - A compatibility library for the new PHP 5.5 password functions.
2012-08-28 15:22:45 +00:00
* [PHPAss](http://www.openwall.com/phpass/) - A portable password hashing framework.
2012-12-04 16:44:54 +00:00
* [PHP Password Lib](https://github.com/ircmaxell/PHP-PasswordLib) - A library for generating and validating passwords.
2013-01-22 19:53:14 +00:00
* [Password Policy](https://github.com/ircmaxell/password-policy) - A password policy library for PHP and JavaScript.
2013-04-16 02:10:03 +00:00
* [PHPSecLib](http://phpseclib.sourceforge.net/) - A pure PHP secure communications library.
2012-08-31 22:46:05 +00:00
* [TCrypto](https://github.com/timoh6/TCrypto) - A simple encrypted key-value storage library.
2013-05-01 04:52:05 +00:00
* [PHP IDS](https://github.com/PHPIDS/PHPIDS) - A structured PHP security layer.
* [Seven Ways to Screw Up BCrypt](http://blog.ircmaxell.com/2012/12/seven-ways-to-screw-up-bcrypt.html) - An article about correct BCrypt implementation.
2013-02-19 20:04:36 +00:00
* [Preventing CSRF Attacks](http://blog.ircmaxell.com/2013/02/preventing-csrf-attacks.html) - An article on preventing CSRF attacks.
2013-10-02 17:36:34 +00:00
* [Don't Worry About BREACH](http://blog.ircmaxell.com/2013/08/dont-worry-about-breach.html) - An article about the BREACH hack and CSRF tokens.
2013-01-08 16:47:41 +00:00
* [Print vs Echo, Which One is Faster?](http://fabien.potencier.org/article/8/print-vs-echo-which-one-is-faster) - An article about print and echo performance.
2013-01-08 16:38:08 +00:00
* [The PHP Ternary Operator. Fast or Not?](http://fabien.potencier.org/article/48/the-php-ternary-operator-fast-or-not) - An article ternary performance.
2013-01-08 16:38:26 +00:00
* [On PHP 5.3, Lamda Functions and Closures](http://fabien.potencier.org/article/17/on-php-5-3-lambda-functions-and-closures) - An article about lambda functions and closures.
2013-01-08 23:01:50 +00:00
* [Use Env](http://seancoates.com/blogs/use-env) - An article about using the unix environment helper.
2013-01-08 16:47:41 +00:00
* [Disproving the Single Quotes Myth](http://nikic.github.com/2012/01/09/Disproving-the-Single-Quotes-Performance-Myth.html) - An article about performance of single and double quoted strings.
2013-01-08 16:46:28 +00:00
* [You're Being Lied To](http://blog.golemon.com/2007/01/youre-being-lied-to.html) - An article about internal ZVALs.
2013-01-08 16:47:41 +00:00
* [How Long is a Piece of String](http://blog.golemon.com/2006/06/how-long-is-piece-of-string.html) - An article about string internals.
* [Understanding OpCodes](http://blog.golemon.com/2008/01/understanding-opcodes.html) - An article about opcodes.
2013-03-14 14:16:07 +00:00
* [How Foreach Works](http://stackoverflow.com/questions/10057671/how-foreach-actually-works/14854568#14854568) - A detailed StackOverflow answer about foreach.
2013-01-08 16:46:28 +00:00
* [When Does Foreach Copy?](http://nikic.github.com/2011/11/11/PHP-Internals-When-does-foreach-copy.html) - An article about the internals of foreach.
* [How Big Are PHP Arrays (And Values) Really?](http://nikic.github.com/2011/12/12/How-big-are-PHP-arrays-really-Hint-BIG.html) - An article about array internals.
2013-09-30 20:21:32 +00:00
* [PHP Evaluation Order](https://gist.github.com/nikic/6699370) - An article about evaluation order in PHP.
2013-01-08 17:10:06 +00:00
* PHP Source Code for Developers: [1](http://blog.ircmaxell.com/2012/03/phps-source-code-for-php-developers.html) [2](http://nikic.github.com/2012/03/16/Understanding-PHPs-internal-function-definitions.html) [3](http://blog.ircmaxell.com/2012/03/phps-source-code-for-php-developers_21.html) [4](http://nikic.github.com/2012/03/28/Understanding-PHPs-internal-array-implementation.html) - A series about the PHP source code.
2013-05-03 17:15:31 +00:00
* Collecting Garbage: [1](http://www.php.net/manual/en/features.gc.refcounting-basics.php) [2](http://www.php.net/manual/en/features.gc.collecting-cycles.php) [3](http://www.php.net/manual/en/features.gc.performance-considerations.php) - A series about the PHP garbage collection internals.
2013-04-16 02:10:03 +00:00
* [Semantic Versioning](http://semver.org/) - A website explaining semantic versioning.
2013-04-15 02:29:16 +00:00
* [Composer Primer](http://daylerees.com/composer-primer) - A Composer primer.
2013-03-19 17:57:00 +00:00
* [Composer Versioning](https://igor.io/2013/01/07/composer-versioning.html) - An article about Composer versioning.
* [Composer Stability Flags](https://igor.io/2013/02/07/composer-stability-flags.html) - An article about Composer stability flags.
2013-01-30 20:59:03 +00:00
* [PHP Sucks! But I Like It!](http://blog.ircmaxell.com/2012/04/php-sucks-but-i-like-it.html) - An article about the pros and cons of PHP.
2013-03-18 20:15:15 +00:00
* [PHP Is Much Better Than You Think](http://fabien.potencier.org/article/64/php-is-much-better-than-you-think) - An article about the PHP lanaguage and ecosystem.
2013-03-25 16:14:23 +00:00
* [Innocent Villagefolk or a Pillagin’ Pirate?](http://blog.astrumfutura.com/2012/04/php-innocent-villagefolk-or-a-pillagin-pirate/) - An article about PHP taking ideas from other language.
2013-03-25 21:40:06 +00:00
* [Predicting Random Numbers in PHP](http://blog.astrumfutura.com/2013/03/predicting-random-numbers-in-php-its-easier-than-you-think/) - An article about generating random numbers.
2013-04-23 18:52:45 +00:00
* [C is for Cookie, H is for Hacker](http://www.troyhunt.com/2013/03/c-is-for-cookie-h-is-for-hacker.html) - An article about cookies and security.
2013-05-22 16:00:10 +00:00
* [You Blew It Loading Your Login Form Over HTTP](http://www.troyhunt.com/2013/05/your-login-form-posts-to-https-but-you.html) - An article about using HTTPS correctly with login forms.
2013-07-26 15:45:28 +00:00
* [How HTTPS Secures Your Connection](http://blog.hartleybrody.com/https-certificates/) - An article explaining how TLS/SSL secures your connection.
2013-07-03 15:31:46 +00:00
* [How to Build a Secure Remember Me Feature](http://www.troyhunt.com/2013/07/how-to-build-and-how-not-to-build.html) - An article on how to build a secure remember me feature.
2013-05-02 19:07:43 +00:00
* [A 20 Point List for Preventing XSS in PHP](http://blog.astrumfutura.com/2013/04/20-point-list-for-preventing-cross-site-scripting-in-php/) - An article about preventing XSS.
* [A Beginners Guide to HTTP Cache Headers](http://www.mobify.com/blog/beginners-guide-to-http-cache-headers/) - An article about HTTP cache headers.