Summary of writing PHP code_PHP tutorial
1- Write modular code
Good PHP code should be modular code. PHP's object-oriented programming capabilities are particularly powerful tools for breaking your application into functions or methods. You should separate as much as possible the front-end HTML/CSS/JavaScript code from the server-side of your application. You can also follow the MVC (Model-View-Controller) pattern on any PHP framework.2- Code writing standards
Good PHP code should have a complete set of code writing specifications. Achieving programming standards through naming variables and functions, unified methods for accessing the database and handling errors, and the same code indentation method can make your code more readable.3- Write portable code
Good PHP code should be portable. You can use PHP's existing features like magic quotes and short tags. Try to understand your needs and then write code to make it self-contained and portable by adapting PHP features.4- Write secure code
Good PHP code should be safe. PHP5 provides excellent performance and flexibility. But the security issue lies entirely with the developers. For a professional PHP developer, it is crucial to have a deep understanding of major security vulnerabilities, such as: cross-site scripting (XSS), cross-site request forgery (CSRF), code injection vulnerabilities, and character encoding vulnerabilities. By using PHP's special features and functions, such as: mysql_real_escape_string, etc., you can write safe code.5- Code Comments
Code comments are an important part of the code. Through code comments, you can know what the variable or function does, which will be very useful in future code maintenance.6- Avoid short tags
Replace all short tags with full PHP tags.7- Use single quotes instead of double quotes
Strings always use single quotes instead of double quotes to avoid performance degradation caused by PHP searching for variables within the string. It's faster to enclose the string in single quotes instead of double quotes. Because PHP will search for variables in a string surrounded by double quotes, single quotes will not8- Escaped string output
It is a good practice to pass ENT_QUOTES as argument to the htmlspecialchars function to ensure that single quotes (') are also converted to HTML entities.9- Use comma separated string output
Outputting a string separated by commas (,) through the echo statement has better performance than using the string concatenation operator (.).10- Check the passed value before output
Check the passed value $_GET['query'] before outputting. Using the isset or empty function, you can check whether a variable is null.
11- Others
- If you can define a class method as static, try to define it as static, and its speed will be increased by nearly 4 times.
- $row['id'] is 7 times faster than $row[id].
- echo is faster than print, and uses multiple parameters of echo (annotation: refers to using commas instead of periods) instead of string concatenation, such as echo $str1, $str2.
- 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.
- Unregister unused variables, especially large arrays, to free up memory.
- Try to avoid using __get, __set, __autoload.
- require_once() is expensive.
- Try to use absolute paths when including files, because it avoids the speed of PHP searching for files in include_path, and the time required to parse the operating system path will be less.
- If you want to know the time when the script starts executing (annotation: the server receives the client request), using $_SERVER['REQUEST_TIME'] is better than time().
- Function replaces regular expression to accomplish the same function.
- The str_replace function is faster than the preg_replace function, but the strtr function is four times more efficient than the str_replace function.
- If a string replacement function accepts arrays or characters as parameters, and the parameter length is not too long, then you can consider writing an additional replacement code so that each parameter passed is a character, instead of just writing one line of code to accept it Arrays as parameters for queries and replaces.
- It is better to use a selective branch statement (Translation: switch case) than to use multiple if, else if statements.
- Using @ to block error messages is very inefficient, extremely inefficient.
- Open apache's mod_deflate module to improve web browsing speed.
- The database connection should be closed when finished using it, and do not use long connections.
- Error messages are expensive.
- Incrementing local variables in methods is the fastest. Almost as fast as calling local variables in a function.
- Incrementing a global variable is 2 times slower than incrementing a local variable.
- Incrementing an object property (eg: $this->prop++) is 3 times slower than incrementing a local variable.
- Incrementing an undefined local variable is 9 to 10 times slower than incrementing a predefined local variable.
- Just defining a local variable without calling it in a function will also slow things down (to the same extent as incrementing a local variable). PHP will probably check to see if a global variable exists.
- Method calls appear to be independent of the number of methods defined in the class, as I added 10 methods (both before and after testing the method) and there was no change in performance.
- Methods in derived classes run faster than the same methods defined in base classes.
- Calling an empty function with one parameter takes the same time as performing 7 to 8 local variable increment operations. A similar method call takes close to 15 local variable increment operations.
- Apache parses a PHP script 2 to 10 times slower than parsing a static HTML page. Try to use more static HTML pages and less scripts.
- 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.
- Cache as much as possible, you can use memcached. Memcached is a high-performance memory object caching system that can be used to accelerate dynamic web applications and reduce database load. Caching of OP codes is useful so that scripts do not have to be recompiled for each request.
- When operating a string and need to check whether its length meets certain requirements, you will naturally use the strlen() function. This function executes fairly quickly because it doesn't 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). However, since strlen() is a function, it will be somewhat slow, because the function call will go through many steps, such as lowercase letters (Annotation: refers to the lowercase function name, PHP does not distinguish between uppercase and lowercase function names), hash search, Will be executed together with the called function. In some cases, you can use the isset() trick to speed up the execution of your code.
(举例如下) if (strlen($foo)
-
(与下面的技巧做比较) if (!isset($foo[5])) { echo 'Foo is too short'; }
Calling isset() happens to be faster than strlen(), because unlike the latter, isset(), as a language construct, means that its execution does not require function lookup and letter lowercase. That is, you actually don't spend much overhead in the top-level code checking the string length.
- When executing the 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, so please don't modify your C or Java code and expect it to be instantly faster, it won't work. ++$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. Prefix increment increases directly on the original value. This is a form of optimization, as done by Zend's PHP optimizer. It's a good idea to keep this optimization in mind because not all command optimizers perform the same optimizations, and there are a large number of Internet Service Providers (ISPs) and servers that do not have command optimizers installed.
- Everything does not have to be object-oriented (OOP). Object-oriented is often very expensive, and each method and object call consumes a lot of memory.
- Not all data structures need to be implemented with classes, arrays are also useful.
- Don’t break down the methods too much. Think carefully about which code you really intend to reuse?
- You can always break your code into methods when you need to.
- Try to use a large number of PHP built-in functions.
- If there are a lot of time-consuming functions in your code, you can consider implementing them as C extensions.
- Profile your code. The checker will tell you which parts of the code take how much time. The Xdebug debugger includes inspection routines that evaluate the overall integrity of your code and reveal bottlenecks in your code.
- mod_zip can be used as an Apache module to instantly compress your data and reduce data transfer volume by 80%.
- When file_get_contents can be used instead of file, fopen, feof, fgets and other series of methods, try to use file_get_contents because it is much more efficient! But please pay attention to the PHP version problem of file_get_contents when opening a URL file;
- Carry out as few file operations as possible, although PHP’s file operations are not inefficient;
- Optimize the Select SQL statement and perform as few Insert and Update operations as possible (I was criticized for updating);
- Use PHP internal functions as much as possible (but in order to find a function that does not exist in PHP, I wasted time that could have been written a custom function, a matter of experience!);
- Do not declare variables inside the loop, especially large variables: objects (this seems to be not just a problem in PHP, right?);
- Try not to nest assignments in loops for multi-dimensional arrays;
- Do not use regular expressions when you can use PHP’s internal string manipulation functions;
- foreach is more efficient, try to use foreach instead of while and for loop;
- "Replace i=i+1 with i+=1. It conforms to the habits of c/c++ and is more efficient";
- Global variables should be unset()ed after use;

Setting session cookie parameters in PHP can be achieved through the session_set_cookie_params() function. 1) Use this function to set parameters, such as expiration time, path, domain name, security flag, etc.; 2) Call session_start() to make the parameters take effect; 3) Dynamically adjust parameters according to needs, such as user login status; 4) Pay attention to setting secure and httponly flags to improve security.

The main purpose of using sessions in PHP is to maintain the status of the user between different pages. 1) The session is started through the session_start() function, creating a unique session ID and storing it in the user cookie. 2) Session data is saved on the server, allowing data to be passed between different requests, such as login status and shopping cart content.

How to share a session between subdomains? Implemented by setting session cookies for common domain names. 1. Set the domain of the session cookie to .example.com on the server side. 2. Choose the appropriate session storage method, such as memory, database or distributed cache. 3. Pass the session ID through cookies, and the server retrieves and updates the session data based on the ID.

HTTPS significantly improves the security of sessions by encrypting data transmission, preventing man-in-the-middle attacks and providing authentication. 1) Encrypted data transmission: HTTPS uses SSL/TLS protocol to encrypt data to ensure that the data is not stolen or tampered during transmission. 2) Prevent man-in-the-middle attacks: Through the SSL/TLS handshake process, the client verifies the server certificate to ensure the connection legitimacy. 3) Provide authentication: HTTPS ensures that the connection is a legitimate server and protects data integrity and confidentiality.

What’s still popular is the ease of use, flexibility and a strong ecosystem. 1) Ease of use and simple syntax make it the first choice for beginners. 2) Closely integrated with web development, excellent interaction with HTTP requests and database. 3) The huge ecosystem provides a wealth of tools and libraries. 4) Active community and open source nature adapts them to new needs and technology trends.

PHP and Python are both high-level programming languages that are widely used in web development, data processing and automation tasks. 1.PHP is often used to build dynamic websites and content management systems, while Python is often used to build web frameworks and data science. 2.PHP uses echo to output content, Python uses print. 3. Both support object-oriented programming, but the syntax and keywords are different. 4. PHP supports weak type conversion, while Python is more stringent. 5. PHP performance optimization includes using OPcache and asynchronous programming, while Python uses cProfile and asynchronous programming.

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

PHP originated in 1994 and was developed by RasmusLerdorf. It was originally used to track website visitors and gradually evolved into a server-side scripting language and was widely used in web development. Python was developed by Guidovan Rossum in the late 1980s and was first released in 1991. It emphasizes code readability and simplicity, and is suitable for scientific computing, data analysis and other fields.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Zend Studio 13.0.1
Powerful PHP integrated development environment

Notepad++7.3.1
Easy-to-use and free code editor

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.