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