PHP パフォーマンス最適化の 5 つのヒント

WBOY
リリース: 2016-08-08 09:29:18
オリジナル
1239 人が閲覧しました

1. 変数を無造作にコピーしないでください

PHP コードをわかりやすくするために、一部の PHP 初心者 (私を含む) が、事前に定義された変数を短い名前の変数にコピーすることがあります。その結果、メモリ消費量が 2 倍になり、プログラムが遅くなるだけです。次の例で、ユーザーが悪意を持って 512KB のテキストをテキスト入力ボックスに挿入すると、1MB のメモリが消費されると想像してください。 BAD:

$説明

=$_POST['説明'];
エコー$説明;

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

GOOD:

エコー

$_POST['説明'];

2. 文字列には一重引用符を使用します

PHP エンジンでは、文字列変数をカプセル化するために一重引用符と二重引用符を使用できますが、大きな違いがあります。二重引用符で囲まれた文字列を使用すると、PHP エンジンはまず文字列の内容を読み取り、その中の変数を見つけて、変数に対応する値に変更するように指示されます。一般に、文字列には変数がないため、二重引用符を使用するとパフォーマンスが低下します。二重引用符で囲まれた文字列の代わりに文字列連結を使用することをお勧めします。

悪い:

$output

=これはプレーンな文字列です;

良い:

$出力

= 'これはプレーン文字列です';BAD:

$type="混合";
$output= これは$タイプです」 string";

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

GOOD:

$type='混合';
$output= 'これは'です。$type;

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
3. エコーの使用() 関数を使用して結果を出力すると、読みやすくなっただけでなく、次の例ではパフォーマンスが向上していることがわかります。 悪い:

print

(

$myVariable

);

良い:echo

$myVariable

;

4. echo でコネクタを使用する

多くの PHP プログラマ (私を含む) は、stink で複数の変数を出力する場合、次の例に示すように、最初に文字列を連結する代わりに、実際にはカンマを使用して変数を区切ることができることを知りません。 2 番目の例では、PHP エンジンが最初にすべての変数を接続してから出力する必要があるため、コネクタの使用によりパフォーマンスの問題が発生します。

悪い:

エコー'こんにちは、私の名前は'.$firstName .$姓 .'と私は'に住んでいますecho' こんにちは、私の名前は

'

です。 $名 $lastName'、そして私は'$cityに住んでいます;5. スイッチを使用します。 if/else の代わりに /case を使用します 変数が 1 つだけの場合は、if/else ステートメントの代わりに switch/case ステートメントを使用した方がパフォーマンスが良く、コードが読みやすく保守しやすくなります。 悪い:

if($_POST['アクション'] == '追加') {
addUser();
} elseif ($_POST['アクション'] == '削除') {
deleteUser();
} elseif ($_POST['アクション'] == '編集' ) {
edi​​tUser();
} else {
defaultAction();
}

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

良い:

スイッチ($_POST['アクション']) {
ケース'追加 ':
addUser( );
break;
case'delete':
deleteUser();
'
編集 ': edi​​tUser();break; break

;}
上記では、あらゆる側面を含む 5 つの PHP パフォーマンス最適化のヒントを紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート