Home > Backend Development > PHP Tutorial > PHP-FIG: What are you going?

PHP-FIG: What are you going?

Christopher Nolan
Release: 2025-02-10 12:20:17
Original
717 people have browsed it

PHP-FIG, Quo Vadis?

The future of the PHP Framework Interoperability Group (PHP-FIG): Where to Go?

The PHP Framework Interoperability Group (PHP-FIG) has made significant progress in attracting positive attention from PHP by adopting more PHP standard recommendations (PSR). These recommendations regulate coding standards, style guides, autoloading, logging, caching, and HTTP messages.

However, due to internal disputes and the exit of well-known projects and individuals, the future of PHP-FIG is uncertain. The organization has been criticized for intensifying bureaucracy and negative climate, hindering effective participation.

This article believes that PHP-FIG should simplify its operation and pay more attention to improving communication and discussion of PSR. This may include making it easier for non-experts to participate and reducing the approval time for PSRs.

The author believes that the future of PHP-FIG depends on whether it can refocus its initial interoperability goals. This means less emphasis on governance and management, and more focus on generating interoperable code.

Thanks to Andrew Carter, Younes Rafie and Scott Molinari for their peer review of this article!

Polish writer Henrik Xiankvich won the 1905 Nobel Prize in Literature for his epic novel Quo Vadis (Latin, meaning "Where are you going?"). Facing any dilemma, a brief pause and redefining goal may be effective.

PHP-FIG, Quo Vadis?

PHP-FIG has matured. With the adoption of more PHP standard recommendations (PSRs), PHP has won more positive attention and appreciation from the programming community. PSR specifies encoding standards, encoding style guides, automatic loading, logging, caching, and HTTP messages.

Other proposals at different draft and review stages cover hypermedia links, PHPDoc standards, event management, caching and security issues. There is even a proposal for the “Huggable Interface” (PSR-8), which discusses embraceable objects and mutually guaranteed hugs!

However, the future is not bright, and the persistence of conflicts within the organization has been questioned.

Origin

The seeds of PHP-FIG were planted at the php|tek conference in 2009, when some developers gathered together to share ideas. This is out of concerns about fragmentation within the PHP community, which is gathered on different frameworks and application islands. FIG should be the equivalent of PHP's Java community process, a platform for developing Java standard technical specifications.

Their purpose is to create a forum to discuss common issues facing PHP projects and to find ways to collaborate and interoperability through collaboration. They want it easier to share completed work across projects.

Organization

Entertainment is as simple as subscribing to Google Group Mailing List or joining an IRC channel. Voting membership is required to vote for deliberations.

General administrative responsibilities are performed by three secretaries, who are elected in different months each year for two years. Details of the day-to-day operation of the organization can be found in the charter section of the PHP-FIG website.

Successfulness

As mentioned above, PSR-4 (Auto Loading Standard) describes the specification for automatically loading classes from file paths. It is designed to be fully interoperable and can be used to complement any existing autoloading specifications, including PSR-0 (the deprecated autoloading standard). This PSR also describes the location of files that are automatically loaded according to the specification.

Using Composer (PHP-FIG voting member), it is very easy to install and use PSR-4 compliant packages. Frameless packages like Carbon can be put in any PSR-4 compliant application without any problem.

Similarly, PSR-7 (HTTP Message) opens a broader door to interoperability by proposing specifications describing HTTP requests and responses. PSR-13 (HTTP middleware) will build on PSR-7 and further promote the boundaries of interoperability between specification-compliant frameworks and applications.

The valuable goals of the pending PSR may not be achieved because the foundation of the organization itself is under threat.

Controversy

The current situation can be summarized in this post on the mailing list: "The increase in legalism and bureaucracy has dominated and has hindered the good work of the group's formation. To put it bluntly, the FIG has become more important in recent months. Becoming increasingly toxic, making effective participation almost impossible. "Bureau." toxicity.

Mailing lists receive a large number of messages that are beyond the scope of interoperability technology discussion. Here are examples of topics: "Conflict of Interest of Secretary", "Harmony between Secretary", "Amendment to the eviction vote", "How can you tolerate this person?!", "Change of eviction by eviction charter", "Request for voting to eviction xxxxxx ”, “Announcement of invalid xxxx membership” and so on.

There is even a recent theme – an alternative to FIG 3.0 – is it time to announce that FIG is done? The premise is that FIG has done its job and does not require FIG 3.0, so let's disband PHP-FIG. The FIG 3.0 proposal is a rewrite of the organization's complex constitution, structure and process. Some, including the author of the post about disbanding the group, would argue that FIG 3.0 is trying to replace bureaucracy with more complex bureaucracy.

The exit of well-known projects such as Laravel, Doctrine, Propel, Guzzle, PHP League and Assetic and the departure of individuals have not improved the situation. An attempt to expel one of the three secretaries failed in the voting barrier. Perhaps in protest, the PHP Community Driven Standard (PHP-CDS) was established, with a very loose structure and a low barrier to entry for proposals.

According to them, "PHP CDS is not a group or organization, it is a concept. The core idea is to have the community create RFCs, discuss them, and then vote on their acceptance as community standards." The term PHP Community Standard ( PCS) echoes Java Community Process (JCP), but when the organization is first established, it may be just a protest against conflicts within the FIG.

Harmony future

Over the years, the open source community has embodied goodwill and harmony, with its model winning praise from companies selling proprietary solutions (usually closed source).

The Apache Software Foundation, which supports a wide range of projects including the extremely popular Apache HTTP server, remains strong. The Linux Foundation provides a home for Linux kernel projects, which is probably the largest and most important open source project in the world. Then there is a strong community gathering around excellent software such as Symfony, Drupal, Composer, Guzzle, etc.

Maybe the project developed or supported by a company entity is well done. Perhaps a project started and led by a respected and admired person.

Disharmonious notes

If the open source community has seen the best of humanity, it has also seen its fair share of verbal cruel attacks and civil strife. People often disagree – neighbors don’t always agree. Motorists on the highway will find a way to express their dissatisfaction with each other. This is the fact of life as a sociable animal.

Linus Torvalds is undoubtedly a genius, but you wouldn't want to put him on the top of the list of diplomat positions. Of course not someone who obviously wrote to the mailing list, “Can we get rid of the stupid web annotation grammar style of brain damage, please?” Or, in another message, “good” comments, for example, “I’m a Bastard. I have no idea why people think I'm not. Yet they do. People think I'm a good guy, and in fact I'm a sinister and sly bastard, if that just leads to what I think is a better system, I Not caring about any hurt feelings or lost work hours. I'm not kidding. I'm really not a good person. I can say 'I don't care' and really think so. "Okay, No one was so annoyed by these words or his comments about pulling requests that he continued forking the Linux kernel.

Around 2014, Github suffered its own earthquake, when a female employee made some claims about sexism, harassment and intimidation in the office. There are many aspects of the story, the most important of which are some ladies hula-hooping along with the music during office hours, while male geeks multitasking – coding and staring at the dancer at the same time. Apart from frivolity, she claimed: “It’s hard for me to adapt to this culture, pulling offensive communication on requests and how the men I work with disrespect and value my opinions.” When her “characteristics start to be inappropriate where (such as pull requests and issues) were discussed, she was shocked.

There are other aspects of the Github story, but it shows that when two or three developers are together, there will be differences between them. Disharmony is part of human experience. How we deal with offensive perceptions of those around us reveals a lot of information.

The way forward

PHP-FIG is on the delicate road to implosion. What we have witnessed since its emergence is the strongest argument for its persistence. However, the idea of ​​replacing so-called broken bureaucracy with new bureaucracy disguised by FIG 3.0 is based on the premise that good bureaucracy exists. The charter page and voting process on the FIG website are too complicated. How to simplify the operation of FIG? How to focus only on interoperability and not on implementation details?

The path forward may be less bureaucracy and more focus on how to improve communication and discussion on PSR. Maybe it should make it easier for “non-experts” to participate in the process to promote inclusion? Some PSRs have been in the pipeline for more than 5 years. Does it really take so long?

Admiring Linus Torvalds as a person, let's stop and listen. He was quoted as saying, "Empty talk is wrong. Show me the code." Another - "Do what you can do. If you can't do, complain." I can't do it, but I won't complain. In the FIG, say less and do more, and more interoperable code, although the implementation of concepts is different, the better the future.

FAQs (FAQs) about PHP-FIG and Quo Vadis

What is PHP-FIG and why is it important?

PHP Framework Interoperability Group (PHP-FIG) is a collaborative project designed to standardize and simplify how PHP developers write code. It is important because it promotes best practices, encourages code sharing and reuse, and improves interoperability among different PHP frameworks. By following the PHP-FIG standard, developers can ensure that their code is easier to maintain, expandable, and robust.

What does "Quo Vadis" mean in the context of PHP-FIG?

"Quo Vadis" is a Latin phrase that translates to "Where are you going?" In the context of PHP-FIG, it refers to the future direction and development of the group. This is a question that encourages reflection on the group's goals, strategies and progress.

How does PHP-FIG contribute to the PHP community?

PHP-FIG contributes to the PHP community by creating and promoting a standard called PSR (PHP Standard Recommendations). These standards provide guidance for common coding tasks such as coding style, autoloading, and logging. By following these standards, developers can ensure that their code is compatible with other PSR-compliant code, making it easier to collaborate and share code.

What are some criticisms of PHP-FIG?

Some critics believe that the PHP-FIG standards are too standardized and limit the flexibility and creativity of developers. Others believe that the group’s decision-making process is too slow and bureaucratic. However, many developers appreciate the stability and interoperability provided by the PHP-FIG standard.

How do I participate in PHP-FIG?

Anyone can participate in PHP-FIG by participating in discussions on the group's mailing list or contributing to their projects on GitHub. You can also help by promoting PHP-FIG standards in your own projects and encouraging others to do so.

What is the meaning of the word "Quo Vadis" in art and literature?

"Quo Vadis" is a phrase that has been used in various artistic and literary forms, often symbolizing moments of decision-making or reflection. This is a powerful metaphor that can be applied to many different contexts, including the evolution of PHP-FIG.

How does PHP-FIG decide on new standards?

The PHP-FIG community proposes and discusses new standards. Proposals go through a rigorous review process, including the voting phase, before being accepted as formal standards.

What is the future of PHP-FIG?

The future of PHP-FIG depends on the continued participation and contribution of the PHP community. The group is constantly working to develop new standards and initiatives to improve PHP development practices.

How does PHP-FIG work affect daily PHP developers?

PHP-FIG standards can make it easier for developers to write, share and maintain their code. By following these standards, developers can ensure that their code is compatible with various frameworks and libraries, thereby improving their usefulness and longevity.

What are some practical examples of the PHP-FIG standard?

Many popular PHP frameworks and libraries, such as Laravel, Symfony, and Zend, comply with PHP-FIG standards. This means that code written for one framework can often be used with another framework with minimal modifications, making it easier for developers to switch between frameworks or combine different technologies in projects.

The above is the detailed content of PHP-FIG: What are you going?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template