Three Worlds in PHP development

Source: Internet
Author: User
Tags php framework


Now in the PHP framework for a lot of discussion, I think there are two main problems: the first blind worship framework, that the adoption of framework design is Orthodox, otherwise it is not inflow, is a rookie. followed by The imitation of Java traces are very heavy. I am not saying that imitation is a bad thing, this refers to the lack of serious thinking, not to consider the framework or some design principles and objectives, to undertake the actual project and the similarities and differences between Java and PHP, some of the "imitation" work blindly. "Three World in PHP development" is an article on "The actual situation of the project", focusing on some features of PHP development in different areas of development. If there are any irregularities, please correct them.

Note: The written content are personal feelings, reproduced please indicate the source.


Three Worlds in PHP development


In the field of PHP development, discuss OO, discuss frameworks, discuss design patterns, discuss MVC models, and discuss the benefits of this. I do not deny these benefits, I just think that can not blindly follow the development of a way, all methods are applicable, PHP development is no exception. PHP Development According to the audience, service objectives can be roughly divided into three different areas of development: Industry business SoftwareCommon sharing softwareAnd Private Proprietary software。 In these different areas, the main use of the development tools are also different. It is necessary to identify the area of your product and determine a development approach. What needs to be explained is that the three categories are strictly not exactly tied, different, hope that this will not bring trouble to everyone, understand the meaning can be. :)

Another limit to the level of personal and narrow views, some of the views will inevitably be biased or even extreme, but also hope that the Fang's generous enlighten.


First of all, please. Industry commercial Software
This kind of software is mainly for certain industries or enterprises of some kind of application, project design is more complex. Generally for a development company to undertake independently, almost no competitors. At present, mainly in CRM, CMS, OA, etc. as the representative. Customers of this type of software are not concerned about how fast the system is running, but about whether the system can achieve the required functionality in a coordinated and consistent capacity. Because it is targeted to a specific customer, so the use of such software is relatively narrow, if another customer is usually not very good to run (the operation here is not to refer to the implementation of the Code, but refers to the realization of the function), it must be demolished again. In order to reduce the needless basic duplication of effort in developing different systems, we must extract the same parts of these different system applications. These same parts contain both the technical similarity of the code and the similarity of the design process. This is a process of abstracting a problem. Our existing frameworks and models are the fruits of our predecessors ' work in these abstract processes. Since almost every Java project is usually a relatively large and complex application, we see the framework everywhere in these projects, and the patterns are visible everywhere. If you don't use this development approach, you can hardly move forward. PHP is similar to Java in the development of such applications, the only difference is that their operating environment (mainly refers to their respective language interpreter, the same below) different. PHP is a scripting language, and the cost of supporting a variety of OO language features is heavy. Whether it's in space or in time. Fortunately for these industries commercial software performance is secondary, and can determine their own operating environment, so the use of OO characteristics to support a good PHP5 is the inevitable choice. It is also necessary to adopt a number of frameworks.

Say it again. Common sharing software
This concept from the traditional desktop Sharing software concept, its main feature is that customers (including potential customers) many, the same type of software users have more choices, competition is more intense. This type of software is currently represented by the Forum Community program. In order to win customers, you have to do better than the average competitor. For this kind of software, competition is mainly in a few aspects:

1, interface. The interface is your first impression of your product, including your customers ' customers. So the interface has to be friendly. The interface not only refers to the appearance, but also to operability. The interface must take into account the habits of most people, the operation must be simple and easy. Although the appearance is radish cabbage, but you must also leave a choice (interface) to the customer, so that customers can easily modify the use.

2, performance. A good interface will certainly add points to your product. But in the world of CTRL + C and CTRL + V, the excellent interface will be "learning" by competitors. If the interface is the first impression, then performance will be a fatal expedition. Because the interface can be changed, but you can't expect the customer to improve their code. In PHP development, the performance is to a large extent the speed of the code, another important performance is the loss of the system resources. The lower the resource share of each processing process, the more time the system has to handle more requests at the same time. These are a few of the subtle things that see the real chapter. I hope to have the opportunity to discuss with you in detail. But I personally have a general principle is to avoid the use of classes. The class in PHP is really a performance killer. The immediate consequence of avoiding the use of classes is to avoid using frames. Some say this will affect development efficiency. I admit that it is possible to make some of these effects. But I think, efficiency is divided into two kinds: development efficiency and operational efficiency. It's not appropriate for us to do this in business software, but we have a lot of competitors in common shareware. Besides, customers don't care what framework you use, what mode they take, and the customer only cares about their own experience. Rain and bear's paw can not be both, we must abandon a little development efficiency to ensure operational efficiency. This is also the last resort.

3, compatibility.
<

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.