Home >Backend Development >PHP Tutorial >PHP code optimization skills summary

PHP code optimization skills summary

步履不停
步履不停Original
2019-07-03 15:41:285321browse

PHP code optimization skills summary

PHP code optimization is an important dimension to evaluate whether you are a qualified PHP engineer. When writing a program, you always want to minimize the resource usage of your program. Runs faster and requires less code. PHP's unique syntax mixes C, Java, Perl and PHP's innovative syntax, which can execute dynamic web pages faster than CGI or Perl. PHP embeds programs into HTML documents for execution, and its execution efficiency is much higher than CGI that completely generates HTML tags.

The purpose of PHP optimization is to spend the least cost in exchange for the fastest running speed and the easiest to maintain code.

PHP code optimization tips

echo is faster than print.

Use multiple parameters of echo instead of string concatenation.

Determine the maximum number of loops before executing the for loop. Do not calculate the maximum value every loop. It is best to use foreach instead.

For global variables, they should be unset()ed after use.

Use single quotes instead of double quotes to enclose the string, which will be faster.

Because PHP will search for variables in the string surrounded by double quotes, but single quotes will not.

Function replaces regular expressions to complete the same function. When performing increment or decrement of variable $i, $i will be slower than $i.

This difference is specific to PHP and does not apply to other languages. $i is faster because it only requires 3 instructions (opcodes), while $i requires 4 instructions.

Postincrement actually creates a temporary variable that is subsequently incremented.

The prefix increment increases directly on the original value.

Using a switch case is better than using multiple if, else if statements.

Use var_dump to debug PHP code.

If you are looking for PHP debugging technology, I must say that var_dump should be the target you are looking for. This command can meet all your needs in terms of displaying PHP information, and most cases of debugging code are related to getting PHP. related to the value.

Using the full path when including the file will take less time to resolve the operating system path.

It is a bad practice to create global values ​​​​at every turn, but sometimes the actual situation does require this.

It is a good idea to use global values ​​for database table or database connection information, but do not use global values ​​frequently in your PHP code.

Also, a better approach is to store your global variables in a config.php file.

If you want to know the time when the script starts executing, it is better to use $_SERVER[‘REQUEST_TIME’] instead of time().

Open apache's mod_deflate module.

Using @ to block error messages is very inefficient.

Try to use a large number of PHP built-in functions.

Incrementing an undefined local variable is 9 to 10 times slower than incrementing a predefined local variable.

Methods in derived classes run faster than the same methods defined in base classes.

Just defining a local variable without calling it in a function will also slow down the speed (to the same extent as incrementing a local variable). Apache's time to parse a PHP script is 2 slower than parsing a static HTML page. to 10 times.

Use as many static HTML pages as possible and less scripts. As mentioned before, 99% of the time the most important part of any PHP website is the database.

Therefore, you need to be very familiar with how to use sql correctly, learn relational tables and more advanced database technologies.

Calling an empty function with one parameter takes the same time as performing 7 to 8 local variable increment operations.

When operating a string and need to check whether its length meets certain requirements, you will naturally use the strlen() function.

This function executes quite quickly because it does not do any calculations and just returns the known string length stored in the zval structure (C's built-in data structure used to store PHP variables).

Not all situations must use object-oriented development. Object-oriented development is often very expensive, and each method and object call consumes a lot of memory.

Unless the script can be cached, it will be recompiled each time it is called. Introducing a PHP caching mechanism can usually improve performance by 25% to 100% to eliminate compilation overhead.


Notes on PHP code optimization

Short code does not equal fast code

Many people are writing programs Sometimes we hope to write code as concisely as possible, but shorter code sometimes takes longer to execute. When writing a program, you should pay more attention to the scalability of the program rather than pursuing speed. Before optimizing your code, look at the database-related parts first, because the bottleneck of most applications is the database rather than the code.

Micro-optimization does more harm than good

What is micro-optimization? As mentioned before, replace the regular expression part of the code with string functions. This has the following disadvantages:
(1) It takes a long time
(2) It will not fundamentally solve the performance problem
(3) It is very likely to destroy the previous code and generate unknown errors
(4) Pay more than reward
There is also a misunderstanding that must be mentioned here. In order to make the program more optimized, some people take optimization into consideration when analyzing business logic, and thus make changes in order to obtain better code. Business logic. This is a very stupid idea, because the purpose of the program is to solve problems encountered in reality, and we cannot put the cart before the horse.

For more PHP related technical articles, please visit the PHP Tutorial column to learn!

The above is the detailed content of PHP code optimization skills summary. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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