これは本当に古いのですが、改善の余地があります。
グローバルだけでなく、$ GLOBALS ['categories']の使用を検討する必要があります。
これには2つの理由があります。
global $categories;
毎回書く必要はありません。
- それは私たちがグローバルを使用していて、その後使用していないのは明らかです。
このコードを考えてみましょう:
global $categories;
// a lot of PHP code here
<?php print_r ($categories) ?>
変数を使用する直前にグローバル状態を初期化する場合のみ、グローバルかどうかを判断するのは非常に困難です。そして、あなたが持っているテンプレートファイルのいずれかでそれを繰り返すことを忘れないでください。
そのために命名規則を使用することは可能ですが、私の意見ではより良い方法があります。
の使用を検討してください$GLOBALS['categories']
。
global $categories
もう一度考える必要なく、functions.phpで変数を1回だけ初期化する必要があります。そして、それはグローバルなものであることがわかります。
print_r ($GLOBALS['categories']);
この状況では、パフォーマンスの問題はまったく問題になりません。Sara Golemonを引用します(リンク):
$ GLOBALS配列を使用する意味は何ですか?そうです、グローバルキーワードは技術的に高速です。さて、ここで1つ明確にしたいことがあります。ローカライズされた[コンパイルされた変数]としてグローバルを使用することで得られるマイナースピードアフォーダンスは、5年間でコードを調べ、$ fooがグローバルスコープからのものであることを知る保守性と真剣に比較検討する必要があります。something_using($ GLOBALS ['foo']); グローバルな$ fooよりも、いつの日かはっきりします。/ * bunchaコード* / something_using($ foo); ペニー賢く、ばかげたことはありません。