PHP-FIG

There's some confusion about what the PHP-FIG is. I'm here to add to that confusion.

What is it?

PHP-FIG is the PHP Framework Interoperability Group. Each voting member of the group represents a popular PHP framework (or similar) project.

The purpose of the group is for the various representatives to create standards for their projects with the goal of being able to leverage each other's (and by extension, community) code.

To reiterate: They are working together to create easily reusable code that can be used across their projects. These standards include auto-loading, code-style, logging interfaces and (soon) more.

What is it not?

While PHP-FIG does affect the PHP community at large - we who code in their frameworks will use their conventions - PHP-FIG's intended audience is themselves. That means they are working towards what works for their projects. They are not making standards for all of PHP.

Repeat: They are not making standards for all of PHP.

Composer

Composer is a package manager. It also takes care of auto-loading. Composer happens to support PHP-FIG's PSR-0 standard for auto-loading.

That's the extent of their relationship.

Do not confuse Composer's conventions, such as file hierarchies, with PHP-FIG's standards.

Wait, but…

You may have noticed Composer/Packagist's Jordi Boggiano is a voting member. Composer and Packagist are projects written in PHP. They're open source, popular, and publicly hacked on, and so make sense as a voting member.

It's still important to know that Composer is a separate project. It's not about to force PSR-0 on you.

The "Community"

Those with enough code knowledge (and still, for some reason, use PHP :D ) to recognize the power of Composer, Packagist and the ideals of PHP-FIG, are excited. This is the first time you can easily search for, find and implement separate, loosely coupled packages and whip together a quick project without being tied to a framework and its conventions. Python and Ruby has been able to do that forever.

Many of us are adopting the PHP-FIG standards. But that's our choice. We don't represent the frameworks in PHP-FIG - we're just cheering from the sidelines.

People have opinion as to why they don't like PHP-FIG and its standards. Some of these opinions are the result of confusion of what PHP-FIG is. Some are valid.

My opinion is that we're all benefiting. PHP is in a renaissance. Just don't assume that PHP-FIG is attempting represent the PHP Community as a whole.

Use the good parts.