A brief analysis of developing large-scale web applications with PHP (1)_PHP tutorial

WBOY
Release: 2016-07-15 13:25:38
Original
811 people have browsed it

The "large" applications mentioned here do not refer to the specific implementation of large websites such as Google, eBay, and Yahoo. I have no intention to persuade readers to give up their own concepts and beliefs. I just hope that everyone's system can run It is faster and smoother, and can carry more users online. I hope it can give some help to PHP beginners.

Regarding the execution efficiency of PHP, there are many special articles on the Internet. Most of them start with the debate between the PHP and Java camps and end with uncertain expectations. It is rare to see a clear conclusion. Indeed, the execution efficiency of a program is difficult to derive from comparison. Different application aspects and different execution environments will lead to a larger difference in efficiency. And efficiency also needs to be weighed. Everyone knows that assembly language is very low-level and can write very efficient programs. However, I have rarely seen anyone use assembly for web development and have the ability to write programs in assembly. People who are efficient programmers seem to be worthy of everyone's respect, haha~ We don't need to discuss the difference between PHP and assembly, as long as we know the difference between our own PHP and other people's PHP.

First of all, let us clarify the premise of this article: there must be one or more servers that can be controlled by yourself, not a virtual host space. After all, there are already many classic works and mature frameworks for general-purpose systems that can run on virtual hosts. Efficiency mining has been done very well by predecessors. Many of their concepts have also been inherited and developed by many current PHP users. More and more The more so-called "frameworks" there are, they are like stars in the sky. I don't want to write about them anymore, because firstly, my own level is not very good, I can't write anything new, and even if I write it, it will make people laugh. Second, there are too many articles written about this, and there are too many opinions. Confusion is the biggest culprit that causes the death of many passionate future genius programmers.

There is a big difference in efficiency optimization between programs executed on a dedicated server and programs that can be run on a virtual host. Of course, you can install a set of discuz on one or even a bunch of independent servers without modification, but does it really get the maximum performance optimization? Are you really worthy of this bunch of servers?

A standalone server means that the user has complete control over the machine, including installing and deleting software, configuring system parameters and even modifying source code. Based on such an open hardware platform, performance is not only reflected in speed, but also includes security, stability, etc. Unlike virtual hosts, users must configure web server parameters, install and configure PHP, databases, and install all kinds of messy things (as I like to say) by themselves, and of course they must be responsible for them.

First of all, I will mention a few terms: execution time, template, database encapsulation, Cache, Buffer, Hash, daemon, and crontab.

Execution time, as everyone knows, is the time it takes for a program to start executing and end. Because the Web is transient and stateless, execution time is an indicator of Web program execution efficiency. It is not suitable for measuring C/S programs or background daemon programs because many of them run continuously. A typical example of page execution time is the time display at the bottom of the Discuz forum page. Usually Discuz is from a few milliseconds to tens of milliseconds, depending on the platform used, the amount of data, and the current system pressure.

Everyone is familiar with the template. Although many people are just using it, they don’t know why they are using it. Templates are traditionally a way to divide logical layers. In the MVC upper structure, it separates the presentation layer from the lower layer. In actual use, it facilitates the division of labor between programmers and interface designers. However, in many cases now, due to the improper use of templates, instead of promoting the division of labor and cooperation between programmers and interface designers, it has become the main culprit of mutual hatred between programmers and artists (I think I said this in a previous post) , many people are complaining that they have to spend a lot of time organizing templates.

Database encapsulation seems to be more related to Java. It provides a unified calling interface for various database systems, usually some encapsulated classes. These classes sometimes also complete some tasks such as SQL checking, filtering, etc. DB packaging, PEAR DB, Adodb, etc. in PHPLIB are all famous and used by many people. 1

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/446673.htmlTechArticleThe "large" applications mentioned here do not refer to the specific implementation of large websites such as Google, eBay, and Yahoo. I have no intention to persuade readers to give up their concepts and beliefs, I just hope that everyone...
source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template