PHP代码优化技巧小结_php技巧

May 16, 2016 pm 08:06 PM
PHPコードの最適化 コードの最適化

PHP优化的目的是花最少的代价换来最快的运行速度与最容易维护的代码。给大家提供下面这些优化技巧:

1. echo 比 print 快。

2. 使用echo的多重参数代替字符串连接。

3. 在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。

4. 对global变量,应该用完就unset()掉。

5. 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会。

6. 函数代替正则表达式完成相同功能。

7. 当执行变量$i的递增或递减时,$i++会比++$i慢一些。这种差异是PHP特有的,并不适用于其他语言,++$i更快是因为它只需要3条指令(opcodes),$i++则需要4条指令。后置递增实际上会产生一个临时变量,这个临时变量随后被递增。而前置递增直接在原值上递增。

8. 使用选择分支语句(switch case)好于使用多个if,else if语句。

9. 利用var_dump进行PHP代码调试。如果你在寻找php调试技术,我必须说var_dump应该是你要找的目标,在显示php信息方面这个命令可以满足你的所有需要,而调试代码的多数情况与得到PHP中的数值有关。

10. 在包含文件时使用完整路径,解析操作系统路径所需的时间会更少。

11. 动辄创建全局数值是一种糟糕的做法,不过有时候实际情况的确又需要这么做。对于数据库表或数据库连接信息使用全局数值是一个不错的想法,但不要在你的PHP代码中频繁使用全局数值。另外,更好的一种做法是把你的全局变量存放在一个config.php文件中。

12. 如果你想知道脚本开始执行的时刻,使用$_SERVER[‘REQUEST_TIME']要好于time()。

13. 打开apache的mod_deflate模块。

14. 用@屏蔽错误消息的做法非常低效。

15. 尽量采用大量的PHP内置函数。

16. 递增一个未预定义的局部变量要比递增一个预定义的局部变量慢9至10倍。

17. 派生类中的方法运行起来要快于在基类中定义的同样的方法。

18. 仅定义一个局部变量而没在函数中调用它,同样会减慢速度(其程度相当于递增一个局部变量)

19. Apache解析一个PHP脚本的时间要比解析一个静态HTML页面慢2至10倍。尽量多用静态HTML页面,少用脚本。

20. 正如之前提到的,任何php网站中最重要的部分有99%的可能是数据库。因此,你需要非常熟悉如何正确的使用sql,学会关联表和更多高级的数据库技术。

21. 调用带有一个参数的空函数,其花费的时间相当于执行7至8次的局部变量递增操作。

22. 当操作字符串并需要检验其长度是否满足某种要求时,你想当然地会使用strlen()函数。此函数执行起来相当快,因为它不做任何计算,只返回zval 结构(C的内置数据结构,用于存储PHP变量)中存储的已知字符串长度。

23. 并不是所有情况都必须使用面向对象开发,面向对象往往开销很大,每个方法和对象调用都会消耗很多内存。

24. 除非脚本可以缓存,否则每次调用时都会重新编译一次。引入一套PHP缓存机制通常可以提升25%至100%的性能,以免除编译开销。

最后再提醒一下在代码优化的时候应该注意的事情:

1. 短代码不等于快的代码
很多人在写程序时希望将代码写的越简洁越好,但是越短的代码有时候反而需要更长的执行时间。

2. 在写程序的时候更应该注重程序的扩展性,而不是追求速度。

3. 在优化你的代码之前,先看看跟数据库有关的部分,因为大多数应用程序的瓶颈在数据库而不是代码。

4. 微优化得不偿失
什么叫做微优化?就像前面所说的将正则表达式部分的代码改用字符串函数代替。这样做有以下缺点:
(1)花费时间较长
(2)不会根本上解决性能问题
(3)很有可能会破坏以前的代码从而产生未知的错误
(4)付出大于回报

       这里还不得不提到一个误区,有些人为了让程序更加优化,在分析业务逻辑的时候便将优化考虑在内了,从而为了得到更优的代码而改动业务逻辑。这是十分愚蠢的想法,因为程序的目的便是为了处理现实中遇到的问题,我们不能本末倒置。

以上就是php代码优化的方法和一些小提示,希望能够帮助到大家更好的优化php代码

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Javaコードをうまくリファクタリングする方法 Javaコードをうまくリファクタリングする方法 Jun 15, 2023 pm 09:17 PM

Java は世界で最も人気のあるプログラミング言語の 1 つとして、多くの企業や開発者にとって選ばれる言語となっています。ただし、コードの品質と開発効率を維持するには、コードのリファクタリングが不可欠です。 Java コードは複雑であるため、時間の経過とともに保守がますます困難になる可能性があります。この記事では、コードの品質と保守性を向上させるために Java コードをリファクタリングする方法について説明します。リファクタリングの原則を理解する Java コードのリファクタリングの目的は、単に「コードを変更する」ことではなく、コードの構造、可読性、保守性を向上させることです。なぜなら

プログラムのパフォーマンスを最適化するための一般的な方法は何ですか? プログラムのパフォーマンスを最適化するための一般的な方法は何ですか? May 09, 2024 am 09:57 AM

プログラムのパフォーマンスの最適化方法には、次のようなものがあります。 アルゴリズムの最適化: 時間の複雑さが低いアルゴリズムを選択し、ループと条件文を減らします。データ構造の選択: ルックアップ ツリーやハッシュ テーブルなどのデータ アクセス パターンに基づいて、適切なデータ構造を選択します。メモリの最適化: 不要なオブジェクトの作成を回避し、使用されなくなったメモリを解放し、メモリ プール テクノロジを使用します。スレッドの最適化: 並列化できるタスクを特定し、スレッド同期メカニズムを最適化します。データベースの最適化: インデックスを作成してデータの取得を高速化し、クエリ ステートメントを最適化し、キャッシュまたは NoSQL データベースを使用してパフォーマンスを向上させます。

PHP の高同時処理におけるコード最適化手法 PHP の高同時処理におけるコード最適化手法 Aug 11, 2023 pm 12:57 PM

PHP のコード最適化テクニック 高度な同時実行処理 インターネットの急速な発展に伴い、高度な同時実行処理が Web アプリケーション開発における重要な問題になっています。 PHP 開発では、同時多発リクエストに対処するためにコードをどのように最適化するかが、プログラマーが解決する必要がある難しい問題となっています。この記事では、PHP の高同時実行処理におけるコード最適化テクニックをいくつか紹介し、コード例を追加して説明します。キャッシュの合理的な使用 同時実行性が高い状況では、データベースに頻繁にアクセスすると、過剰なシステム負荷が発生し、データベースへのアクセスが比較的遅くなります。したがって、できることは、

Java フレームワークのパフォーマンス最適化におけるコード最適化の主要なスキル Java フレームワークのパフォーマンス最適化におけるコード最適化の主要なスキル Jun 03, 2024 pm 01:16 PM

Java フレームワークのパフォーマンスの最適化では、次のようなコードの最適化が重要です。1. オブジェクトの作成を減らす。2. 適切なデータ構造を使用する。4. 文字列操作を最適化する。これらのヒントに従うことで、Hibernate クエリを最適化してデータベース呼び出しの数を減らすなど、フレームワークのパフォーマンスを向上させることができます。

Java Spring Boot Security パフォーマンスの最適化: システムを高速化します。 Java Spring Boot Security パフォーマンスの最適化: システムを高速化します。 Feb 19, 2024 pm 05:27 PM

1. セキュリティ アノテーションの使用が多すぎることを避けるためのコードの最適化: コントローラーとサービスでは、@PreAuthorize や @PostAuthorize などのアノテーションの使用を減らすようにしてください。これらのアノテーションにより、コードの実行時間が増加します。クエリ ステートメントの最適化: springDataJPA を使用する場合、クエリ ステートメントを最適化するとデータベースのクエリ時間が短縮され、システムのパフォーマンスが向上します。セキュリティ情報のキャッシュ: 一般的に使用される一部のセキュリティ情報をキャッシュすると、データベース アクセスの数が減り、システムの応答速度が向上します。 2. データベースの最適化にインデックスを使用する: 頻繁にクエリが実行されるテーブルにインデックスを作成すると、データベースのクエリ速度が大幅に向上します。ログと一時テーブルを定期的にクリーンアップする: ログと一時テーブルを定期的にクリーンアップします。

Go言語でコードをリファクタリングする方法 Go言語でコードをリファクタリングする方法 Jun 02, 2023 am 08:31 AM

ソフトウェア開発の継続的な深化とコードの継続的な蓄積により、コードのリファクタリングは現代のソフトウェア開発プロセスにおいて避けられない部分となっています。これは、システムの確立されたコードを変更して、その構造、パフォーマンス、読みやすさ、またはその他の関連する側面を改善するプロセスです。この記事では、Go 言語でコードのリファクタリングを行う方法を検討します。リファクタリング目標の定義 コードのリファクタリングを開始する前に、明確なリファクタリング目標を設定する必要があります。このコードにはどのような問題があるのか​​など、いくつかの質問を自問する必要があります。再構築する必要がある

C++ コードをリファクタリングするにはどうすればよいですか? C++ コードをリファクタリングするにはどうすればよいですか? Nov 04, 2023 pm 04:40 PM

C++ は非常に強力で柔軟性があり、広く使用されているプログラミング言語ですが、プロジェクトが継続的に開発され、コードが相対的に再利用され続けると、コードの品質や可読性の低下などの問題が発生します。現時点では、コードの品質と保守性を向上させるために、コードをリファクタリングする必要があります。この記事では、C++ コードをリファクタリングする方法を紹介します。目標を定義する コードのリファクタリングを開始する前に、達成したいことを定義する必要があります。たとえば、コードの可読性の向上、コードの重複の削減、コードのパフォーマンスの向上などが必要な場合があります。なし

コードの最適化: PHP パフォーマンスのヒント コードの最適化: PHP パフォーマンスのヒント Jun 05, 2023 am 08:21 AM

実際の開発では、Web サイトやアプリケーションのパフォーマンスと拡張性を向上させるために、PHP コードの最適化は非常に重要なステップです。ここでは、コードをより高速に実行するための PHP パフォーマンスのヒントをいくつか紹介します。 1. 関数呼び出しと変数を最小限に抑える 1.1 関数呼び出し 関数呼び出しは、各関数がメモリ内に領域を割り当てる必要があるため、PHP コードのパフォーマンスに大きな影響を与えます。 PHP コードを作成するときは、あまりにも多くの関数呼び出しを避け、代わりにインライン関数またはカスタム関数を使用する必要があります。 1.2 変数

See all articles