We should all learn PHP

It is estimated that many friends came to read because of the three letters of PHP. Nowadays, the developer community is belittling PHP and badmouthing PHP, which has become a meme. But I think PHP is worth re-recognizing, and the PHP developer community is also worth learning. You don’t necessarily come here to learn the programming language PHP. You can learn the design ideas of the PHP language and the operating model of the PHP developer community. The official meaning of the three letters PHP is

this - P HP:  Hypertext P reprocessor. But I want to give a new interpretation to the three letters of PHP: Pragmatic , Humanized , Permanent . These three words are also known to us as pragmatism, humanized design and long-termism . In my opinion, the PHP programming language and the developer community behind it deeply embody these three ideas, and this is the business essence of the return we are now advocating. This is a bit too abstract, so let’s give a concrete example. Let me talk about a problem that all teams working on management software will encounter: how to respond to customers’ customized needs ? One possible solution is to branch . Open a branch, perform customized development on the branch, and then deliver it to the customer. Opening a branch in Git is very fast and completed in an instant. It is quite simple. But what if there are ten customers, dozens of customers, hundreds of customers? Branch maintenance is a huge cost. For example, if a bug occurs and the code needs to be merged and updated in dozens or even hundreds of branches, this maintenance work will be life-threatening. Another possible solution is to reserve various configuration switches in the code . Use different configurations or switches for different customers. However, this method will cause a lot of code redundancy, the program structure is complex and lengthy, and the logical structure is unclear. After long-term accumulation, the code becomes difficult to update and maintain, and becomes a mountain of code. Moreover, there is no way to completely solve the problem of customer personalization. Maybe we still need to open a branch to solve it. Later, low-code development platforms became popular . In fact, this is nothing new. I remember going to a customer for training around 2013. There was a master in their team who built a rapid development platform, and all delivery to the customer was based on various configurations on this platform. On the surface it looks faster, but in reality the complexity will only shift, not disappear . The problems caused by rapid development platforms are insufficient abstraction and weak performance capabilities. Limited by the ability to rapidly develop the platform itself, it is difficult to solve deeper business logic problems. Therefore, at this time, the rapid development platform needs to provide more powerful capabilities, such as logical judgment, looping, and even directly open programming interfaces, allowing users to write their own code to implement it. In the end, the rapid development platform itself becomes a development language. Let’s talk about our ZenTao project management software solutions. Our solution is to provide extensions to our customers . This capability of ours is implemented based on the operating mechanism of PHP. As we all know, PHP is a scripting language that is dynamically loaded and executed dynamically. And it also has a very complete object-oriented programming mechanism, so you can do all kinds of fun things in the PHP world. The code of ZenTao project management software is divided into the three well-known MVC layers, namely Model, View, and Controller. At the same time, we also subdivided the concepts of Configuration, Language, CSS and JavaScript. At the framework layer, we also have the basic Framework and the core Library. All these different levels of code are extensible. All ZenTao requests will be loaded through a single entry point. When loading code, the framework will first determine whether there is code in the extension directory that meets the extension rules that needs to be loaded. If available, the extension's code is loaded first. The extended code can be further modified on the basis of inheriting the basic code. In this way, we have achieved a very complete expansion mechanism, which can make various changes according to customer needs. What we deliver to customers are extension codes and never branch. This expansion mechanism of ZenTao software is actually a very simple architecture, and there is nothing too complicated or advanced technology. It's nothing more than defining various expansion rules and then implementing dynamic loading logic. But it is precisely this simple architecture that is most effective . It can effectively solve the problems of personalized customization and main code update. This capability is built on the dynamic mechanism of the PHP language. This is a very good manifestation of PHP's emphasis on practical results. The PHP community also places great emphasis on developer friendliness. I won’t go into too much detail, just a few brief points. For example, the PHP manual is very systematic and informative. It is the best-maintained official documentation of any programming language I have ever seen. PHP also tries its best to give developers a variety of freedoms when designing the language, without too much force. There are various ways to implement the same problem in the PHP world. The PHP developer community is also very stable, not impatient and moving forward steadily . The PHP community has adopted a progressive approach when updating and iterating, and has done a good job in backward compatibility. This ensures that programs developed with the old version of PHP can also enjoy the benefits of performance improvements brought by the new version of PHP. Two years ago, the PHP community also established a foundation, which has raised a total of more than 1.1 million U.S. dollars. As of today, the balance on the account is 730,000 U.S. dollars . In the past year, the PHP Foundation has hired six full- and part-time PHP developers. There are also plans to hire four developers in the new year. After the news was sent out, the PHP Foundation received a total of 207 applications. The PHP Foundation selected a shortlist of 12 qualified candidates, from which 4 outstanding developers were selected. Since the establishment of the foundation, PHP's release speed has also accelerated, and everything is moving in a better direction. Today we will discuss using the programming language PHP. But in fact, the same is true in product development and business operations. There is also a need to focus on practical results, humanized design and long-termism. With the arrival of the new economic cycle, I believe more and more teams will start to focus on the three. For example, I have recently seen many cases of refactoring from microservice architecture to monolithic application model . 

















Tang Xiaoou, founder of SenseTime, passed away at the age of 55. In 2023, PHP stagnated . Hongmeng system is about to become independent, and many universities have set up "Hongmeng classes". The PC version of Quark Browser has started internal testing. ByteDance was "banned" by OpenAI. Zhihuijun's startup company refinanced, with an amount of over 600 million yuan, and a pre-money valuation of 3.5 billion yuan. AI code assistants are so popular that they can't even compete in the programming language rankings . Mate 60 Pro's 5G modem and radio frequency technology are far ahead No Star, No Fix MariaDB spins off SkySQL and forms as independent company
{{o.name}}
{{m.name}}

Guess you like

Origin my.oschina.net/easysoft/blog/10322559