Home Backend Development PHP7 Ten pitfalls to avoid in PHP7 development

Ten pitfalls to avoid in PHP7 development

Apr 30, 2020 am 10:45 AM
php

Many new features and functions have been introduced in php7, and there are also abandoned features and functions. This has brought about some codes that were applicable to php7 before but are not very good in php7, so this article tells you how to avoid php7 in the pit.

1. Don’t use the mysql_ function

The day has finally come. From now on, you not only "shouldn't" use the mysql_ function. PHP 7 has removed them all from the core, which means you need to migrate to the much better mysqli_ function, or the more flexible PDO implementation.

2. Don’t write garbage code

This one may be easy to understand, but it will become increasingly important because the speed increase of PHP 7 may hide your some problems. Don’t just settle for your site speed because migrating to PHP 7 made it faster.

As a developer, you should always make sure to load scripts on demand, connect to them when possible, write efficient database queries, use caching when possible, and more.

3. Don’t use PHP closing tags at the end of the file

You can take a look, when a file ends with PHP code, most of WordPress core code ends with The PHP tag has been removed. In fact, the Zend Framework specifically disables it. PHP does not require a closing tag at the end of the file, and we can ensure that no whitespace characters are added at the end by removing it.

640?wx_fmt=jpeg

4. Don’t do unnecessary reference passing

I personally don’t like reference passing. I know that sometimes it's useful, but other times it makes the code difficult to understand and the results harder to predict.

It is said that some people think it makes the code run faster, but according to some senior PHP programmers, this is not true.

An example of why quoting is bad is that PHP has built-in shuffle() and sort(). They modify the original array instead of returning the processed array, which is quite illogical.

5. Don’t execute queries in a loop

Executing queries in a loop is very wasteful. It puts unnecessary stress on your system and may be able to achieve the same results faster outside the loop. When I encounter a situation where I need something like this, I usually solve the problem with two separate queries that I use to build the data array. I'll then iterate over the array and not need to perform a query in the process.

Since WordPress is used here, it may have some exceptions. Although get_post_meta() will get a lot of data from the database, you can use it in a loop if you are looping through the metadata of a particular blog post. This is because WordPress actually gets all the metadata and caches it when you first call it. Subsequent calls use this cached data without making database calls.

The best way to understand this is to read the function documentation and use a tool like Query Monitor.

6. Don’t use *

Of course, this is more of a MySQL problem, but we are used to writing SQL code in PHP, so it’s the same. Regardless, don't use wildcards in SQL queries if you can avoid it, especially if the database has many columns.

You should explicitly specify which rows are required and only get them. This helps reduce resources used, protect data, and make things as clear as possible.

For SQL, you need to know all the available functions and test their speed as much as possible. When calculating means, sums, or similar numerical calculations, use SQL functions instead of PHP functions. If you're not sure about the speed of a certain query, test it and try some other compilations - then use the best one.

7. Don’t trust user input

It is unwise to trust user input. Always validate, filter, escape, check, and leave a way out. There are three problems with user data: we developers don't consider every possibility, it's often incorrect, and it could be deliberately compromised.

Though-thought-out systems can protect against these threats. Be sure to check for appropriate values ​​using built-in functions like filter_var(), and escape (or precompile) when dealing with the database.

WordPress has some functions to solve the problem. See the article Validating, escaping, and filtering user data for details.

8. Don’t try to be smart

Your goal should be to write elegant code that expresses your intentions more clearly. You might be able to optimize 0.01 seconds out of each page by shortening everything to a one-word variable, using multiple layers of ternary logic, and other means. But this will only create big problems for you and those around you.

Name variables appropriately, document your code, and prioritize clarity over brevity. It's even better to use standard object-oriented code, which is more or less the document itself, without the need for a bunch of inline values.

9. Don’t reinvent the wheel

PHP has been around for a long time, and websites have been around even longer. Chances are, whatever you need to build, someone has already built it before. Don’t be afraid to ask for support from others, Github is your friend, so is Composer, and so is Packagist.

From logging tools to color correction tools, from performance analyzers to unit testing frameworks, from Mailchimp API to Twitter Bootstrap, everything is available at the press of a key (or typing a command), use them!

10. Don’t ignore other languages

If you are a PHP programmer, when you can better understand HTML, CSS, JavaScript and MySQL. It’s time to learn JavaScript again. JavaScript is not jQuery, and you should learn JavaScript properly to use it more efficiently.

There is also object-oriented PHP, which saves time and gets better when the code size is larger. For languages ​​like C# and Java, they are also easier to understand after you understand OOP.

Expand your knowledge by learning about package managers, build scripts, CoffeeScript, LESS, SASS, YAML, scripting engines, and other powerful tools. I highly recommend you to take a look at other frameworks, especially Laravel.

How about learning Ruby, RoR, Android, iPhone and Windows Phone app development while you use them to get things done brilliantly? You might think this is pointless because they are outside of your comfort zone and what the job requires, but that’s what they are. Every language has some practical things to learn, as well as new things you've never encountered before. It's no coincidence that all top PHP developers know many other programming languages.

Recommended tutorial: "PHP7 Tutorial"

The above is the detailed content of Ten pitfalls to avoid in PHP7 development. For more information, please follow other related articles on the PHP Chinese website!

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

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Article

Peak: How To Revive Players
1 months ago By DDD
PEAK How to Emote
4 weeks ago By Jack chen

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

A Simple Guide to PHP Setup A Simple Guide to PHP Setup Jul 18, 2025 am 04:25 AM

The key to setting up PHP is to clarify the installation method, configure php.ini, connect to the web server and enable necessary extensions. 1. Install PHP: Use apt for Linux, Homebrew for Mac, and XAMPP recommended for Windows; 2. Configure php.ini: Adjust error reports, upload restrictions, etc. and restart the server; 3. Use web server: Apache uses mod_php, Nginx uses PHP-FPM; 4. Install commonly used extensions: such as mysqli, json, mbstring, etc. to support full functions.

Commenting Out Code in PHP Commenting Out Code in PHP Jul 18, 2025 am 04:57 AM

There are three common methods for PHP comment code: 1. Use // or # to block one line of code, and it is recommended to use //; 2. Use /.../ to wrap code blocks with multiple lines, which cannot be nested but can be crossed; 3. Combination skills comments such as using /if(){}/ to control logic blocks, or to improve efficiency with editor shortcut keys, you should pay attention to closing symbols and avoid nesting when using them.

Tips for Writing PHP Comments Tips for Writing PHP Comments Jul 18, 2025 am 04:51 AM

The key to writing PHP comments is to clarify the purpose and specifications. Comments should explain "why" rather than "what was done", avoiding redundancy or too simplicity. 1. Use a unified format, such as docblock (/*/) for class and method descriptions to improve readability and tool compatibility; 2. Emphasize the reasons behind the logic, such as why JS jumps need to be output manually; 3. Add an overview description before complex code, describe the process in steps, and help understand the overall idea; 4. Use TODO and FIXME rationally to mark to-do items and problems to facilitate subsequent tracking and collaboration. Good annotations can reduce communication costs and improve code maintenance efficiency.

Improving Readability with Comments Improving Readability with Comments Jul 18, 2025 am 04:46 AM

The key to writing good comments is to explain "why" rather than just "what was done" to improve the readability of the code. 1. Comments should explain logical reasons, such as considerations behind value selection or processing; 2. Use paragraph annotations for complex logic to summarize the overall idea of functions or algorithms; 3. Regularly maintain comments to ensure consistency with the code, avoid misleading, and delete outdated content if necessary; 4. Synchronously check comments when reviewing the code, and record public logic through documents to reduce the burden of code comments.

Writing Effective PHP Comments Writing Effective PHP Comments Jul 18, 2025 am 04:44 AM

Comments cannot be careless because they want to explain the reasons for the existence of the code rather than the functions, such as compatibility with old interfaces or third-party restrictions, otherwise people who read the code can only rely on guessing. The areas that must be commented include complex conditional judgments, special error handling logic, and temporary bypass restrictions. A more practical way to write comments is to select single-line comments or block comments based on the scene. Use document block comments to explain parameters and return values at the beginning of functions, classes, and files, and keep comments updated. For complex logic, you can add a line to the previous one to summarize the overall intention. At the same time, do not use comments to seal code, but use version control tools.

Learning PHP: A Beginner's Guide Learning PHP: A Beginner's Guide Jul 18, 2025 am 04:54 AM

TolearnPHPeffectively,startbysettingupalocalserverenvironmentusingtoolslikeXAMPPandacodeeditorlikeVSCode.1)InstallXAMPPforApache,MySQL,andPHP.2)Useacodeeditorforsyntaxsupport.3)TestyoursetupwithasimplePHPfile.Next,learnPHPbasicsincludingvariables,ech

Quick PHP Installation Tutorial Quick PHP Installation Tutorial Jul 18, 2025 am 04:52 AM

ToinstallPHPquickly,useXAMPPonWindowsorHomebrewonmacOS.1.OnWindows,downloadandinstallXAMPP,selectcomponents,startApache,andplacefilesinhtdocs.2.Alternatively,manuallyinstallPHPfromphp.netandsetupaserverlikeApache.3.OnmacOS,installHomebrew,thenrun'bre

Mastering PHP Block Comments Mastering PHP Block Comments Jul 18, 2025 am 04:35 AM

PHPblockcommentsareusefulforwritingmulti-lineexplanations,temporarilydisablingcode,andgeneratingdocumentation.Theyshouldnotbenestedorleftunclosed.BlockcommentshelpindocumentingfunctionswithPHPDoc,whichtoolslikePhpStormuseforauto-completionanderrorche

See all articles