CINXE.COM

Frequently Asked Questions - PHP-FIG

<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <title>Frequently Asked Questions - 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="Frequently Asked Questions - PHP-FIG" /> <meta name="twitter:title" content="Frequently Asked Questions - 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&#039;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&#039;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 " 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 site_menu__link--active" 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="page_banner"> <div class="center"> <h1 class="page_banner__title"> Frequently Asked Questions </h1> </div> </div> <div class="center"> <div class="page_content__padding"> <div class="faqs"> <div class="columns"> <div class="columns__column columns__column--4"> <div class="faqs__questions"> <ul class="faqs__questions_list"> <li class="faqs__question_item"> <a class="faqs__question_link" href="#what-does-fig-stand-for">What does FIG stand for?</a> </li> <li class="faqs__question_item"> <a class="faqs__question_link" href="#what-are-the-aims-of-the-php-fig">What are the aims of the PHP-FIG?</a> </li> <li class="faqs__question_item"> <a class="faqs__question_link" href="#what-does-psr-stand-for">What does PSR stand for?</a> </li> <li class="faqs__question_item"> <a class="faqs__question_link" href="#what-standards-have-been-passed-so-far">What standards have been passed so far?</a> </li> <li class="faqs__question_item"> <a class="faqs__question_link" href="#who-appointed-you-to-make-these-decisions">Who appointed you to make these decisions?</a> </li> <li class="faqs__question_item"> <a class="faqs__question_link" href="#who-are-these-voting-members">Who are these voting members?</a> </li> <li class="faqs__question_item"> <a class="faqs__question_link" href="#do-voting-members-have-to-comply-to-the-standards">Do voting members have to comply to the standards?</a> </li> <li class="faqs__question_item"> <a class="faqs__question_link" href="#can-i-get-involved">Can I get involved?</a> </li> <li class="faqs__question_item"> <a class="faqs__question_link" href="#should-i-contact-my-representative-to-get-involved">Should I contact my representative to get involved?</a> </li> <li class="faqs__question_item"> <a class="faqs__question_link" href="#who-gets-the-vote--the-individual-or-the-frameworkproject">Who gets the vote — the individual or the framework/project?</a> </li> <li class="faqs__question_item"> <a class="faqs__question_link" href="#who-should-initiateclose-voting">Who should initiate/close voting?</a> </li> <li class="faqs__question_item"> <a class="faqs__question_link" href="#why-has-framework-x-not-been-voted-into-the-group">Why has [FRAMEWORK X] not been voted into the group?</a> </li> <li class="faqs__question_item"> <a class="faqs__question_link" href="#why-are-there-non-frameworks-as-voting-members">Why are there non-frameworks as voting members?</a> </li> <li class="faqs__question_item"> <a class="faqs__question_link" href="#i-use-framework-x-which-is-a-voting-member-yet-ive-never-heard-about-the-php-fig-until-now-how-are-they-representing-their-community">I use [FRAMEWORK X] which is a voting member, yet I’ve never heard about the PHP-FIG until now. How are they representing their community?</a> </li> <li class="faqs__question_item"> <a class="faqs__question_link" href="#why-do-you-use-strict-language-with-words-like-must-must-not-and-required-in-all-caps-in-your-documentation-and-specifications">Why do you use strict language with words like MUST, MUST NOT, and REQUIRED in all caps in your documentation and specifications?</a> </li> <li class="faqs__question_item"> <a class="faqs__question_link" href="#can-you-help-me-with-my-php-code">Can you help me with my PHP code?</a> </li> </ul> </div> </div> <div class="columns__column columns__column--8 columns__column--padding_left"> <div class="faqs__answers"> <div class="faqs__answer"> <h2 class="faqs__answer_title" id="what-does-fig-stand-for">What does FIG stand for?</h2> <div class="faqs__answer_content"> <p>The FIG stands for Framework Interoperability Group. The name until recently was “PHP Standards Group” but this was somewhat inaccurate of the intentions of the group.</p> </div> </div> <div class="faqs__answer"> <h2 class="faqs__answer_title" id="what-are-the-aims-of-the-php-fig">What are the aims of the PHP-FIG?</h2> <div class="faqs__answer_content"> <p>The idea behind the group is for project representatives to talk about the commonalities between our projects and find ways we can work together. Our main audience is each other, but we’re very aware that the rest of the PHP community is watching. If other folks want to adopt what we’re doing they are welcome to do so, but that is not the aim. Nobody in the group wants to tell you, as a programmer, how to build your application.</p> </div> </div> <div class="faqs__answer"> <h2 class="faqs__answer_title" id="what-does-psr-stand-for">What does PSR stand for?</h2> <div class="faqs__answer_content"> <p>PSR stands for PHP Standard Recommendation.</p> </div> </div> <div class="faqs__answer"> <h2 class="faqs__answer_title" id="what-standards-have-been-passed-so-far">What standards have been passed so far?</h2> <div class="faqs__answer_content"> <p>A full breakdown of PSRs can be found in our <a href="/psr/">Index of PHP Standard Recommendations</a></p> </div> </div> <div class="faqs__answer"> <h2 class="faqs__answer_title" id="who-appointed-you-to-make-these-decisions">Who appointed you to make these decisions?</h2> <div class="faqs__answer_content"> <p>The group was bootstrapped by a number of framework developers at php|tek in 2009. Since then various other members have applied and been voted in, increasing the size of the group from the first 5 to over 20.</p> <p>It may not be an “official” PHP group, but if that was the case who would do the appointing? The FIG represents a cross-section of the community, and over time that cross-section will represent a wider selection of projects.</p> </div> </div> <div class="faqs__answer"> <h2 class="faqs__answer_title" id="who-are-these-voting-members">Who are these voting members?</h2> <div class="faqs__answer_content"> <p>The full list of voting members can be seen <a href="/personnel/">here</a>.</p> </div> </div> <div class="faqs__answer"> <h2 class="faqs__answer_title" id="do-voting-members-have-to-comply-to-the-standards">Do voting members have to comply to the standards?</h2> <div class="faqs__answer_content"> <p>No. Becoming a voting member on the PHP-FIG in no way forces a member or project to implement every - or any - accepted PSRs. Projects have to consider backwards-compatibility issues when upgrading and make the changes at the right time, so it is assumed most projects will eventually adopt, but it is not a requirement.</p> </div> </div> <div class="faqs__answer"> <h2 class="faqs__answer_title" id="can-i-get-involved">Can I get involved?</h2> <div class="faqs__answer_content"> <p>Absolutely. Anybody who subscribes to the Google Group is part of the PHP-FIG. As soon as you subscribe to the <a href="https://groups.google.com/group/php-fig/">mailing list</a> and/or join the <a href="https://discord.gg/php-fig">Discord Server</a> you are a PHP-FIG Community Member, who can influence standards, make suggestions, give feedback, etc. Only PHP-FIG Voting Members can start or participate in votes, but the discussion and formation stages involve everyone.</p> </div> </div> <div class="faqs__answer"> <h2 class="faqs__answer_title" id="should-i-contact-my-representative-to-get-involved">Should I contact my representative to get involved?</h2> <div class="faqs__answer_content"> <p>If you think that your project would benefit from implementing PSRs and you want to have a say in the development of future standards then you certainly should get involved.</p> </div> </div> <div class="faqs__answer"> <h2 class="faqs__answer_title" id="who-gets-the-vote--the-individual-or-the-frameworkproject">Who gets the vote — the individual or the framework/project?</h2> <div class="faqs__answer_content"> <p>Multiple members can represent a single project, but that project will only get one vote. A member can represent multiple projects, but that member will still only get one vote.</p> </div> </div> <div class="faqs__answer"> <h2 class="faqs__answer_title" id="who-should-initiateclose-voting">Who should initiate/close voting?</h2> <div class="faqs__answer_content"> <p>The rules are all described in the <a href="/bylaws/voting-protocol/">Voting Protocol Bylaws</a>.</p> </div> </div> <div class="faqs__answer"> <h2 class="faqs__answer_title" id="why-has-framework-x-not-been-voted-into-the-group">Why has [FRAMEWORK X] not been voted into the group?</h2> <div class="faqs__answer_content"> <p>Every single vote has a number of reasons for and against voting. No explicit guideline or explicit set of rules has been set out. Some vote for everyone, some vote for their friends, some vote for projects with a certain size or reputation. In reality sizes of all projects have been accepted from the large and extremely well known (Zend Framework 2 &amp; Drupal) to the considerably smaller (PyroCMS). If a project you use is not represented they have either not applied, or were not involved enough in discussion prior to submitting their vote that they have not been voted in. They can try again at a later date, of course.</p> </div> </div> <div class="faqs__answer"> <h2 class="faqs__answer_title" id="why-are-there-non-frameworks-as-voting-members">Why are there non-frameworks as voting members?</h2> <div class="faqs__answer_content"> <p>It was quickly discovered that CMS, applications, package developers, etc. have as much to add as the frameworks themselves. The idea is to get a cross-section of the ecosystem and not JUST one specific group of developers. Having the implementors working alongside the people creating packages and the people developing systems with the frameworks are all of equal importance.</p> </div> </div> <div class="faqs__answer"> <h2 class="faqs__answer_title" id="i-use-framework-x-which-is-a-voting-member-yet-ive-never-heard-about-the-php-fig-until-now-how-are-they-representing-their-community">I use [FRAMEWORK X] which is a voting member, yet I’ve never heard about the PHP-FIG until now. How are they representing their community?</h2> <div class="faqs__answer_content"> <p>Framework developers have a multitude of factors to consider when planning the roadmap for their products and they need to take their community into account when they do this. Factors like features, functionality, style guide, minimum requirements, etc. are all subject to change in any new version and each project makes their own decisions. How they involve their communities in decision making is entirely up to them, not the FIG.</p> </div> </div> <div class="faqs__answer"> <h2 class="faqs__answer_title" id="why-do-you-use-strict-language-with-words-like-must-must-not-and-required-in-all-caps-in-your-documentation-and-specifications">Why do you use strict language with words like MUST, MUST NOT, and REQUIRED in all caps in your documentation and specifications?</h2> <div class="faqs__answer_content"> <p>This is because we are following <a href="https://www.ietf.org/rfc/rfc2119.txt">RFC 2119</a>. For more information on the creators of RFC 2119, please see the <a href="https://www.ietf.org/">Internet Engineering Task Force</a> (IETF).</p> <p>To quote the abstract from RFC 2119:</p> <blockquote> <p>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.</p> </blockquote> <p>By following RFC 2119 we can be both more concise in what we are saying as well as more consistent in how we are saying it. Emphasizing words as recommended by RFC 2119 helps ensure that documentation will be read as the authors intended and leaves less room for ambiguity. This ensures that there is a smaller chance that the same text can be interpreted to mean more than one thing.</p> <p>We are far from alone in using RFC 2119 in writing standards and specifications. The IETF uses it for its own documentation but there are examples of other projects outside of the IETF using RFC 2119 as well. <a href="https://www.w3.org">The World Wide Web Consortium (W3C)</a> is a notable example.</p> </div> </div> <div class="faqs__answer"> <h2 class="faqs__answer_title" id="can-you-help-me-with-my-php-code">Can you help me with my PHP code?</h2> <div class="faqs__answer_content"> <p>While there are many user groups and forums dedicated to providing general PHP support, the FIG is not one of them. Here are some great PHP resources and support forums:</p> <ul> <li><a href="https://www.reddit.com/r/phphelp">Reddit</a></li> <li><a href="https://stackoverflow.com/questions/tagged/php">Stack Overflow</a></li> <li><a href="https://php.net/manual/">The PHP Manual</a> (especially the comments)</li> <li><a href="https://www.phptherightway.com">PHP: The Right Way</a></li> </ul> </div> </div> </div> </div> </div> </div> </div> </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">&copy; <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>

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