CINXE.COM

The League of Extraordinary Packages

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>The League of Extraordinary Packages</title> <meta name="description" content="Our goal is to develop PHP packages of the highest quality possible, using modern tools, standards and practices to distribute, test and strengthen the code."> <meta property="og:title" content="The League of Extraordinary Packages" /> <meta property="og:type" content="website" /> <meta property="og:url" content="//thephpleague.com" /> <meta property="og:image" content="//thephpleague.com/img/logo.png" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="/css/all.css?v=2"> </head> <body> <div class="introduction"> <div class="toolbar"> <div class="center"> <ul class="menu"> <li> <a href="#packages"> Our Packages </a> </li> <li> <a href="#quality"> Quality </a> </li> <li> <a href="#why"> Why? </a> </li> <li> <a target="_blank" href="https://savelife.in.ua/en/"> 馃嚭馃嚘 Stop the war &amp; support 馃嚭馃嚘 </a> </li> </ul> <ul class="links_and_languages"> <li class="github"> <a href="https://github.com/thephpleague"> GitHub </a> </li> <li class="twitter"> <a href="https://twitter.com/thephpleague"> Twitter </a> </li> <li class="languages"> <input id="languages_menu" type="checkbox"> <div class="languages_menu"> <label for="languages_menu"> Language: <strong>English</strong> </label> <ul> <li> <a href="/ar/"> 丕賱毓乇亘賷丞 </a> </li> <li> <a href="/de/"> Deutsch </a> </li> <li> <a href="/es/"> Espa帽ol </a> </li> <li> <a href="/fr/"> Fran莽ais </a> </li> <li> <a href="/hr/"> Hrvatski </a> </li> <li> <a href="/it/"> Italiano </a> </li> <li> <a href="/pt-br/"> Portugu锚s </a> </li> <li> <a href="/ro/"> Rom芒n膬 </a> </li> <li> <a href="/ru/"> 袪褍褋褋泻懈泄 </a> </li> <li> <a href="/sl/"> Slovenian </a> </li> <li> <a href="/ua/"> 校泻褉邪褩薪褋褜泻邪 </a> </li> <li> <a href="/zh-cn/"> Chinese (Simplified) </a> </li> </ul> </div> </li> </ul> </div> </div> <div class="center"> <ul class="features ukraine"> <li> <a target="_blank" href="https://savelife.in.ua/en/"> 馃嚭馃嚘 Stop the war &amp; support 馃嚭馃嚘 </a> </li> </ul> <span class="stars"> &#9733;&#9733;&#9733; </span> <a href="" class="logo"> <img src="/img/logo.png" alt="The League of Extraordinary Packages" width="270" height="279"> </a> <h1> The League of Extraordinary Packages is a group of developers who have banded together to build solid, well tested PHP packages using modern coding standards. </h1> <span class="stars"> &#9733;&#9733;&#9733; </span> <ul class="features"> <li> We comply to the standards of the <a href="http://www.php-fig.org">PHP-FIG</a>. </li> <li> We adhere to the best-practices put forward by <a href="http://www.phptherightway.com/">PHP The "Right" Way</a>. </li> <li> We distribute code via <a href="https://packagist.org/">Packagist</a> and <a href="https://getcomposer.org/">Composer</a>. </li> </ul> </div> </div> <div class="packages" id="packages"> <div class="center"> <h2> Our Packages </h2> <ul> <li class="headers"> <div class="name"> <h3> Name </h3> </div> <div class="description"> <h3> Description </h3> </div> <div class="project_lead"> <h3> Project Lead </h3> </div> </li> <li> <div class="name"> <a href="http://climate.thephpleague.com"> CLImate </a> </div> <div class="description"> Terminal output made easy </div> <div class="project_lead"> <a href="https://github.com/joetannenbaum"> Joe Tannenbaum </a> </div> </li> <li> <div class="name"> <a href="https://github.com/thephpleague/color-extractor"> Color Extractor </a> </div> <div class="description"> Extract colors from an image </div> <div class="project_lead"> <a href="https://github.com/MatTheCat"> Mathieu Lechat </a> </div> </li> <li> <div class="name"> <a href="https://commonmark.thephpleague.com/"> CommonMark </a> </div> <div class="description"> Markdown parser for PHP based on the CommonMark spec </div> <div class="project_lead"> <a href="https://github.com/colinodell"> Colin O'Dell </a> </div> </li> <li> <div class="name"> <a href="https://config.thephpleague.com/"> Config </a> </div> <div class="description"> Simple yet expressive schema-based configuration library </div> <div class="project_lead"> <a href="https://github.com/colinodell"> Colin O'Dell </a> </div> </li> <li> <div class="name"> <a href="http://container.thephpleague.com"> Container </a> </div> <div class="description"> Fast and intuitive dependency injection container </div> <div class="project_lead"> <a href="https://github.com/philipobenito"> Phil Bennett </a> </div> </li> <li> <div class="name"> <a href="http://csv.thephpleague.com"> CSV </a> </div> <div class="description"> CSV data manipulation made easy </div> <div class="project_lead"> <a href="https://github.com/nyamsprod"> Ignace Nyamagana Butera </a> </div> </li> <li> <div class="name"> <a href="http://event.thephpleague.com"> Event </a> </div> <div class="description"> Event package for your app and domain </div> <div class="project_lead"> <a href="https://twitter.com/frankdejonge"> Frank de Jonge </a> </div> </li> <li> <div class="name"> <a href="http://factory-muffin.thephpleague.com"> Factory Muffin </a> </div> <div class="description"> Enables the rapid creation of objects for testing </div> <div class="project_lead"> <a href="https://github.com/GrahamCampbell"> Graham Campbell </a> </div> </li> <li> <div class="name"> <a href="http://flysystem.thephpleague.com"> Flysystem </a> </div> <div class="description"> Abstraction for local and remote filesystems </div> <div class="project_lead"> <a href="https://twitter.com/frankdejonge"> Frank de Jonge </a> </div> </li> <li> <div class="name"> <a href="http://fractal.thephpleague.com"> Fractal </a> </div> <div class="description"> Output complex, flexible, RESTful data structures </div> <div class="project_lead"> <a href="https://github.com/greydnls"> Graham Daniels </a> </div> </li> <li> <div class="name"> <a href="https://github.com/thephpleague/geotools"> Geotools </a> </div> <div class="description"> Perform geo-related tasks </div> <div class="project_lead"> <a href="https://github.com/toin0u"> Antoine Corcy </a> </div> </li> <li> <div class="name"> <a href="http://glide.thephpleague.com"> Glide </a> </div> <div class="description"> HTTP based image manipulations </div> <div class="project_lead"> <a href="https://github.com/reinink"> Jonathan Reinink </a> </div> </li> <li> <div class="name"> <a href="https://github.com/thephpleague/html-to-markdown"> HTML To Markdown </a> </div> <div class="description"> Converts HTML to Markdown for your sanity and convenience </div> <div class="project_lead"> <a href="https://github.com/colinodell"> Colin O'Dell </a> </div> </li> <li> <div class="name"> <a href="https://github.com/thephpleague/iso3166"> ISO3166 </a> </div> <div class="description"> A PHP library providing ISO 3166-1 data. </div> <div class="project_lead"> <a href="https://github.com/alcohol"> Rob Bast </a> </div> </li> <li> <div class="name"> <a href="https://github.com/thephpleague/monga"> Monga </a> </div> <div class="description"> Simple and swift MongoDB abstraction </div> <div class="project_lead"> <a href="https://github.com/bcrowe"> Bryan Crowe </a> </div> </li> <li> <div class="name"> <a href="https://github.com/thephpleague/oauth1-client"> OAuth 1 Client </a> </div> <div class="description"> Integrate with OAuth 1.0 providers </div> <div class="project_lead"> <a href="https://github.com/bencorlett"> Ben Corlett </a> </div> </li> <li> <div class="name"> <a href="http://oauth2.thephpleague.com"> OAuth 2 Server </a> </div> <div class="description"> Build an OAuth 2.0 server </div> <div class="project_lead"> <a href="https://github.com/alexbilbie"> Alex Bilbie </a> </div> </li> <li> <div class="name"> <a href="https://github.com/thephpleague/oauth2-client"> OAuth 2 Client </a> </div> <div class="description"> Integrate with OAuth 2.0 providers </div> <div class="project_lead"> <a href="https://github.com/ramsey"> Ben Ramsey </a> </div> </li> <li> <div class="name"> <a href="http://omnipay.thephpleague.com/"> Omnipay </a> </div> <div class="description"> Multi-gateway payment processing library </div> <div class="project_lead"> <a href="https://github.com/barryvdh"> Barry vd. Heuvel </a> </div> </li> <li> <div class="name"> <a href="http://period.thephpleague.com"> Period </a> </div> <div class="description"> Time range API for PHP </div> <div class="project_lead"> <a href="https://github.com/nyamsprod"> Ignace Nyamagana Butera </a> </div> </li> <li> <div class="name"> <a href="http://pipeline.thephpleague.com"> Pipeline </a> </div> <div class="description"> Compose sequential tasks with Pipeline. </div> <div class="project_lead"> <a href="https://twitter.com/frankdejonge"> Frank de Jonge </a> </div> </li> <li> <div class="name"> <a href="https://platesphp.com"> Plates </a> </div> <div class="description"> Native PHP template system </div> <div class="project_lead"> <a href="https://github.com/ragboyjr"> RJ Garcia </a> </div> </li> <li> <div class="name"> <a href="http://route.thephpleague.com"> Route </a> </div> <div class="description"> Router and Dispatcher built on FastRoute </div> <div class="project_lead"> <a href="https://github.com/philipobenito"> Phil Bennett </a> </div> </li> <li> <div class="name"> <a href="https://github.com/thephpleague/statsd"> Statsd </a> </div> <div class="description"> Library for working with StatsD </div> <div class="project_lead"> <a href="https://github.com/marcqualie"> Marc Qualie </a> </div> </li> <li> <div class="name"> <a href="http://tactician.thephpleague.com/"> Tactician </a> </div> <div class="description"> A simple, flexible command bus </div> <div class="project_lead"> <a href="https://github.com/rosstuck"> Ross Tuck </a> </div> </li> <li> <div class="name"> <a href="http://uri.thephpleague.com"> URI </a> </div> <div class="description"> URI manipulation made easy </div> <div class="project_lead"> <a href="https://github.com/nyamsprod"> Ignace Nyamagana Butera </a> </div> </li> </ul> <div class="work_in_progress"> * a work-in-progress package </div> </div> </div> <div class="quality" id="quality"> <div class="center"> <div class="column one"> <h2> Our Definition Of Quality </h2> <div class="description"> Ask 100 developers what defines an awesome PHP package and you鈥檒l get a lot of different answers. That also sounds like a really long and boring task, so we鈥檝e come up with a list of rules that <em>we</em> think make a package awesome. </div> <div class="skeleton_project"> <a href="https://github.com/thephpleague/skeleton"> View our skeleton project </a> </div> </div> <div class="column two"> <ol> <li> <p> Use a vendor namespace (<code>League</code> in our case) for <a href="http://www.php-fig.org/psr/psr-4/">PSR-4</a> autoloading. Shove code in a <code>src</code> folder. </p> </li> <li> <p> Adhere to <a href="http://www.php-fig.org/psr/psr-2/">PSR-2</a> as the coding style guide. </p> </li> <li> <p> Distribute code using <a href="https://packagist.org/">Packagist</a>. </p> </li> <li> <p> Write unit tests. Aim for at least 80% coverage in version 1. </p> </li> <li> <p> <a href="http://www.phpdoc.org/docs/latest/references/phpdoc/index.html">DocBlock</a> all the things that require additional context. </p> </li> <li> <p> Use <a href="http://semver.org/">Semantic Versioning</a> to manage version numbers. </p> </li> <li> <p> Keep a <a href="http://keepachangelog.com/">Changelog</a>. </p> </li> <li> <p> Use <a href="https://travis-ci.org/">Travis-CI</a> to automatically check coding standards and run tests. </p> </li> <li> <p> Have an extensive <a href="https://github.com/thephpleague/skeleton/blob/master/README.md">README</a>. </p> </li> <li> <p> <a href="https://www.reddit.com/r/PHP/comments/2jzp6k/i_dont_need_your_tests_in_my_production">Exclude non-essential files in .gitattributes</a>. </p> </li> </ol> </div> </div> </div> <div class="why" id="why"> <div class="center"> <h2> Why? </h2> <div class="column one"> <p> We鈥檙e doing this instead of releasing code under our personal accounts for a few reasons, but the main reason is this: </p> <blockquote> A problem shared is a problem halved. </blockquote> <p> Working together we take care of business quicker, can get more feedback and respond to issues and pull requests faster. </p> </div> <div class="column two"> <p> There are no plans to reinvent any wheels, unless those wheels are old, broken, unsafe or horrible to use. If the code cannot be installed with Composer, has an API written with BizZaroCapS, doesn鈥檛 have a single unit-test, is actually broken or the lead developer has abandoned the project, then that is a problem which can most likely be solved with a fresh start, and we鈥檒l be on the case to make it as awesome as possible. </p> </div> </div> </div> <div class="footer"> <div class="center"> <span> &copy; Copyright The League of Extraordinary Packages. </span> <span> Site design by <a href="//reinink.ca">Jonathan Reinink</a>. </span> </div> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10