search

10 taboos in php7

Feb 10, 2017 pm 02:21 PM

1. Don’t use the mysql_ function

The day has finally come, and 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 improvements of PHP 7 may hide some of your problems. Don’t just settle for your site speed because migrating to PHP 7 made it faster.

To understand how important speed is and how to do things better, take a look at our article Getting Started with Speed ​​Optimization.

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’s core codes remove the PHP tag at the end. 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.

4. Don’t do unnecessary pass-by-reference

I personally don’t like pass-by-reference. 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 pretty much 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 understand all 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 clever

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 can be obtained by pressing a key (or typing a command), use them Bar!

10. Don’t ignore other languages

If you are a PHP programmer, now is a good opportunity to at least understand HTML, CSS, JavaScript and MySQL. When you get better at handling these languages, it's time to relearn JavaScript. JavaScript is not jQuery, and you should learn JavaScript properly to use it more efficiently.

I'm also going to recommend learning object-oriented PHP to you, it will save time and will get 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 accident that all top PHP developers know many other programming languages.


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
The Continued Use of PHP: Reasons for Its EnduranceThe Continued Use of PHP: Reasons for Its EnduranceApr 19, 2025 am 12:23 AM

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: Exploring Their Similarities and DifferencesPHP and Python: Exploring Their Similarities and DifferencesApr 19, 2025 am 12:21 AM

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 and Python: Different Paradigms ExplainedPHP and Python: Different Paradigms ExplainedApr 18, 2025 am 12:26 AM

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 and Python: A Deep Dive into Their HistoryPHP and Python: A Deep Dive into Their HistoryApr 18, 2025 am 12:25 AM

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.

Choosing Between PHP and Python: A GuideChoosing Between PHP and Python: A GuideApr 18, 2025 am 12:24 AM

PHP is suitable for web development and rapid prototyping, and Python is suitable for data science and machine learning. 1.PHP is used for dynamic web development, with simple syntax and suitable for rapid development. 2. Python has concise syntax, is suitable for multiple fields, and has a strong library ecosystem.

PHP and Frameworks: Modernizing the LanguagePHP and Frameworks: Modernizing the LanguageApr 18, 2025 am 12:14 AM

PHP remains important in the modernization process because it supports a large number of websites and applications and adapts to development needs through frameworks. 1.PHP7 improves performance and introduces new features. 2. Modern frameworks such as Laravel, Symfony and CodeIgniter simplify development and improve code quality. 3. Performance optimization and best practices further improve application efficiency.

PHP's Impact: Web Development and BeyondPHP's Impact: Web Development and BeyondApr 18, 2025 am 12:10 AM

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

How does PHP type hinting work, including scalar types, return types, union types, and nullable types?How does PHP type hinting work, including scalar types, return types, union types, and nullable types?Apr 17, 2025 am 12:25 AM

PHP type prompts to improve code quality and readability. 1) Scalar type tips: Since PHP7.0, basic data types are allowed to be specified in function parameters, such as int, float, etc. 2) Return type prompt: Ensure the consistency of the function return value type. 3) Union type prompt: Since PHP8.0, multiple types are allowed to be specified in function parameters or return values. 4) Nullable type prompt: Allows to include null values ​​and handle functions that may return null values.

See all articles

Hot AI Tools

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.

Undress AI Tool

Undress AI Tool

Undress images for free

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 Tools

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools