ホームページ >バックエンド開発 >PHPチュートリアル >CakePHP: パフォーマンスに関する考慮事項_PHP チュートリアル

CakePHP: パフォーマンスに関する考慮事項_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:43:40871ブラウズ

1. $uses とloadModelの使用

CakePHP 1.3.x バージョンでは $uses を使用しないようにしてください。これは、使用されているすべてのモデルをロードし、メモリを占有し、不必要な時間を消費するためです。

逆に、モデルを使用する必要がある場合は、loadModel を使用してモデルをロードします。関連するデータが必要ない場合は、その再帰プロパティを -1 に設定します。

さらに、コントローラーのデフォルトのデータモデルをロードする必要はありません。 users_controller がloadModel(User)を呼び出す必要がない場合、ユーザーモデルとその関連モデルは自動的にロードされます。

コントローラーで直接使用するだけです:

$this->ユーザー->役割...

遅延読み込みテクノロジーを使用します。バージョン 1.3 には Lazy_model があり、app_model の基本クラスを LazyModel に置き換えます。

を使用すると、モデルが実際に呼び出される場所のみにロードされます。

2. eval と requestAction の使用

eval と requestAction は使用しないでください。 eval は新しいスクリプト解析プロセスを引き起こし、requestAction は新しいリクエストを発行することと同等です。

eval は、{} または

などの $$ 類似の構文に置き換えることができます

ケース1

$this->{$this->modelClass}->hasField("country_id");

------------------------------------------------- ----------------

ケース2

$foo = 都市;

$$foo = 上海;

requestAction が view/helper に置き換えられました

3. キャッシュ

分散データ共有が必要な場合は memcached を使用し、ローカル データには Apc を使用してみてください。 Cache::write/read が使用される場合、core.php で設定されたどのキャッシュが使用されるかをパラメータで指定します。


http://www.bkjia.com/PHPjc/478816.html

tru​​ehttp://www.bkjia.com/PHPjc/478816.html技術記事 1. $uses とloadModel の使用 CakePHP 1.3.x バージョンでは $uses を使用しないようにしてください。これにより、使用されているすべてのモデルがロードされ、メモリが占​​有され、不必要な時間が消費されます。 逆に、使いたい時は…
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。