CINXE.COM
PHP-FIG — PHP Framework Interop Group - PHP-FIG
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <title>PHP-FIG — PHP Framework Interop Group - PHP-FIG</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="apple-touch-icon" href="/apple-touch-icon.png"> <!-- Place favicon.ico in the root directory --> <link rel="me" href="https://phpc.social/@phpfig"> <link rel="stylesheet" href="/css/all.css?BGPQK5YPXHQD2XFJ5JN6PAC7GFWLIGXGKRYT55TQNNNEBY5XPHFA===="> <link rel="stylesheet" href="/css/hljs_default.css?BGPQK5YPXHQD2XFJ5JN6PAC7GFWLIGXGKRYT55TQNNNEBY5XPHFA===="> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700,700i|Oswald|Source+Code+Pro"> <link rel="preconnect" href="https://ajax.googleapis.com" pr="1.0" /> <link rel="preconnect" href="https://ssl.google-analytics.com" pr="0.8" /> <link rel="alternate" type="application/atom+xml" href="/atom.xml" title="PHP-FIG Blog Feed" /> <meta name="og:title" content="PHP-FIG — PHP Framework Interop Group - PHP-FIG" /> <meta name="twitter:title" content="PHP-FIG — PHP Framework Interop Group - PHP-FIG" /> <meta name="twitter:site" content="@phpfig" /> <meta name="twitter:creator" content="@phpfig" /> <meta name="twitter:card" content="summary" /> <meta name="twitter:image" content="https://www.php-fig.org/img/social-banner.png" /> <meta property="og:image" content="https://www.php-fig.org/img/social-banner.png" /> <meta property="og:type" content="website" /> <meta name="description" content="We're a group of established PHP projects whose goal is to talk about commonalities between our projects and find ways we can work better together."> <meta name="twitter:description" content="We're a group of established PHP projects whose goal is to talk about commonalities between our projects and find ways we can work better together." /> <meta name="og:description" content="We're a group of established PHP projects whose goal is to talk about commonalities between our projects and find ways we can work better together." /> </head> <body> <header class="site_header"> <div class="center"> <a class="site_logo" href="/"> <span class="site_logo__short_name">PHP-FIG</span> <span class="site_logo__long_name">The PHP Framework Interop Group</span> </a> <nav class="site_menu"> <label class="site_menu__dropdown_button" for="site_menu__dropdown_checkbox">Menu</label> <input class="site_menu__dropdown_checkbox" id="site_menu__dropdown_checkbox" type="checkbox"> <ul class="site_menu__list"> <li class="site_menu__item"> <a class="site_menu__link site_menu__link--active" href="/">Home</a> </li> <li class="site_menu__item"> <a class="site_menu__link " href="/blog">Blog</a> </li> <li class="site_menu__item"> <a class="site_menu__link " href="/psr">PSRs</a> </li> <li class="site_menu__item"> <a class="site_menu__link " href="/per">PERs</a> </li> <li class="site_menu__item"> <a class="site_menu__link " href="/personnel">Personnel</a> </li> <li class="site_menu__item"> <a class="site_menu__link " href="/bylaws">Bylaws</a> </li> <li class="site_menu__item"> <a class="site_menu__link " href="/faqs">FAQs</a> </li> <li class="site_menu__item"> <a class="site_menu__link " href="/get-involved">Get Involved</a> </li> </ul> </nav> </div> </header> <div class="page_content"> <div class="home_banner"> <div class="center"> <div class="home_banner__content"> <h1 class="home_banner__title">Moving PHP forward through collaboration and standards.</h1> <p class="home_banner__intro">Welcome to the PHP Framework Interop Group! We're a group of established PHP projects whose goal is to talk about commonalities between our projects and find ways we can work better together.</p> <div class="home_banner__links"> <a class="home_banner__link" href="/psr/">View recommendations (PSRs)</a> <a class="home_banner__link" href="/faqs/">Frequently asked questions</a> </div> </div> </div> <div class="home_banner__background"></div> </div> <div class="home_features"> <ul class="home_features__list"> <li class="home_features__item home_features__item--autoloading"> <div class="center"> <div class="home_features__content"> <h2 class="home_features__title">Autoloading</h2> <p class="home_features__description">Autoloaders remove the complexity of including files by mapping namespaces to file system paths.</p> <ul class="home_features__links"> <li><a class="home_features__link" href="/psr/psr-4/">PSR-4: Improved Autoloading</a></li> </ul> </div> <div class="home_features__editor"> <div class="home_features__chrome"> <div class="home_features__chrome_dot"></div> <div class="home_features__chrome_dot"></div> <div class="home_features__chrome_dot"></div> </div> <div class="home_features__code"> <pre><code class="language-php hljs php" data-lang="php"><span class="hljs-meta"><?php</span> <span class="hljs-keyword">use</span> <span class="hljs-title">Vendor</span>\<span class="hljs-title">Package</span>\<span class="hljs-title">ClassName</span>; $object = <span class="hljs-keyword">new</span> ClassName(); </code></pre> </div> </div> </div> </li> <li class="home_features__item home_features__item--interfaces"> <div class="center"> <div class="home_features__content"> <h2 class="home_features__title">Interfaces</h2> <p class="home_features__description">Interfaces simplify the sharing of code between projects by following expected contracts.</p> <ul class="home_features__links"> <li><a class="home_features__link" href="/psr/psr-3/">PSR-3: Logger Interface</a></li> <li><a class="home_features__link" href="/psr/psr-6/">PSR-6: Caching Interface</a></li> <li><a class="home_features__link" href="/psr/psr-11/">PSR-11: Container Interface</a></li> <li><a class="home_features__link" href="/psr/psr-13/">PSR-13: Hypermedia Links</a></li> <li><a class="home_features__link" href="/psr/psr-14/">PSR-14: Event Dispatcher</a></li> <li><a class="home_features__link" href="/psr/psr-16/">PSR-16: Simple Cache</a></li> <li><a class="home_features__link" href="/psr/psr-20/">PSR-20: Clock</a></li> </ul> </div> <div class="home_features__editor"> <div class="home_features__chrome"> <div class="home_features__chrome_dot"></div> <div class="home_features__chrome_dot"></div> <div class="home_features__chrome_dot"></div> </div> <div class="home_features__code"> <pre><code class="language-php hljs php" data-lang="php"><span class="hljs-meta"><?php</span> <span class="hljs-keyword">namespace</span> <span class="hljs-title">Psr</span>\<span class="hljs-title">Log</span>; <span class="hljs-comment">/** * Describes a logger instance */</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">LoggerInterface</span> </span>{ </code></pre> </div> </div> </div> </li> <li class="home_features__item home_features__item--interfaces"> <div class="center"> <div class="home_features__content"> <h2 class="home_features__title">HTTP</h2> <p class="home_features__description">Interoperable standards and interfaces to have an agnostic approach to handling HTTP requests and responses, both on client and server side.</p> <ul class="home_features__links"> <li><a class="home_features__link" href="/psr/psr-7/">PSR-7: HTTP Message Interfaces</a></li> <li><a class="home_features__link" href="/psr/psr-15/">PSR-15: HTTP Handlers</a></li> <li><a class="home_features__link" href="/psr/psr-17/">PSR-17: HTTP Factories</a></li> <li><a class="home_features__link" href="/psr/psr-18/">PSR-18: HTTP Client</a></li> </ul> </div> <div class="home_features__editor"> <div class="home_features__chrome"> <div class="home_features__chrome_dot"></div> <div class="home_features__chrome_dot"></div> <div class="home_features__chrome_dot"></div> </div> <div class="home_features__code"> <pre><code class="language-php hljs php" data-lang="php"><span class="hljs-meta"><?php</span> <span class="hljs-keyword">namespace</span> <span class="hljs-title">Psr</span>\<span class="hljs-title">Http</span>\<span class="hljs-title">Message</span>; <span class="hljs-comment">/** * Representation of an outgoing, client-side request. */</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">RequestInterface</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">MessageInterface</span> </span>{ </code></pre> </div> </div> </div> </li> <li class="home_features__item home_features__item--coding_styles"> <div class="center"> <div class="home_features__content"> <h2 class="home_features__title">Coding Styles</h2> <p class="home_features__description">Standardized formatting reduces the cognitive friction when reading code from other authors.</p> <ul class="home_features__links"> <li><a class="home_features__link" href="/per/coding-style/">PER Coding Style</a></li> <li><a class="home_features__link" href="/psr/psr-1/">PSR-1: Basic Coding Standard</a></li> </ul> </div> <div class="home_features__editor"> <div class="home_features__chrome"> <div class="home_features__chrome_dot"></div> <div class="home_features__chrome_dot"></div> <div class="home_features__chrome_dot"></div> </div> <div class="home_features__code"> <pre><code class="language-php hljs php" data-lang="php"><span class="hljs-meta"><?php</span> <span class="hljs-keyword">namespace</span> <span class="hljs-title">Vendor</span>\<span class="hljs-title">Package</span>; <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ClassName</span> </span>{ <span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">fooBarBaz</span><span class="hljs-params">($arg1, &$arg2, $arg3 = [])</span> </span>{ <span class="hljs-comment">// method body</span> } } </code></pre> </div> </div> </div> </li> </ul> </div> </div> <div class="site_footer_links"> <div class="center"> <div class="site_footer_links__content"> <ul class="site_footer_links__list"> <li class="site_footer_links__item site_footer_links__item--twitter"> <a class="site_footer_links__link" href="https://twitter.com/phpfig">Follow us on Twitter</a> </li> <li class="site_footer_links__item site_footer_links__item--discord"> <a class="site_footer_links__link" href="https://discord.gg/php-fig">Discuss on Discord</a> </li> <li class="site_footer_links__item site_footer_links__item--github"> <a class="site_footer_links__link" href="https://github.com/php-fig">Contribute via GitHub</a> </li> <li class="site_footer_links__item site_footer_links__item--mailing_list"> <a class="site_footer_links__link" href="https://groups.google.com/forum/?fromgroups#!forum/php-fig">Join our mailing list</a> </li> </ul> </div> </div> </div> <footer class="site_footer"> <div class="center"> <span class="site_footer__section">© <script type="text/javascript">document.write(new Date().getFullYear());</script> PHP Framework Interop Group.</span> <span class="site_footer__section">Site design by <a class="site_footer__link" href="https://twitter.com/reinink" target="_blank">Jonathan Reinink</a>.</span> <span class="site_footer__section platform_sh_widget">Hosting sponsored by the <a title="platform.sh" href="https://platform.sh/?utm_campaign=sponsored_sites&utm_source=php_fig" target="_blank"><img class="platformsh-logo" src="/img/platform-sh-logo.png" alt="platform.sh logo" style="padding: 0 3px 0 3px;height: 1.1em; vertical-align: text-bottom;"/></a> <a class="site_footer__link" href="https://platform.sh/?utm_campaign=sponsored_sites&utm_source=php_fig" target="_blank">PHP PaaS</a></span> </div> </footer> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script src="/js/main.js"></script> <script type="text/javascript"> var _gaq = _gaq || [];_gaq.push(['_setAccount','UA-1997599-8']);_gaq.push(['_setDomainName','php-fig.org']);_gaq.push(['_trackPageview']); (function(){var ga=document.createElement('script');ga.type='text/javascript';ga.async=true;ga.src='https://ssl.google-analytics.com/ga.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(ga,s);})(); </script> </body> </html>