私は非常に大きなAppControllerを持っています。ほぼ75の機能と130キロバイト。それは私のシステムを遅くするようです。したがって、これらの関数を別のファイル内に配置し、他のコントローラーが必要とする場合はそのファイルを含める必要があります。
オプションは、新しいコントローラーまたは新しいコンポーネントを作成することです。私は選択をしようとしています。長所と短所は何でしょうか?
私のポイントは:
- これらの関数を別のプロジェクト内で使用する予定はありません。これらの関数は、このプロジェクトでのみ使用されます。
AppController内では、これらのファイル、モデル、コンポーネントを使用しています。したがって、新しい構造でアクセスできる必要があります。
App::import('Vendor', 'MyFancyVendor', array('file' => 'MyFancyVendor.php')); App::uses('CakeEmail', 'Network/Email'); public $uses = array('Mytable1', 'Mytable2', 'Mytable3', 'Mytable4'); public $components = array('Session'); public $helpers = array('Session','Html');
編集:巨大な新しいコントローラー/コンポーネントを使用することは古い構造と同じように見えますが、違いは次のとおりです。MyController12とMyController13は、AppController内のこれらの巨大な関数のメソッドを使用しません。ただし、MyController12はAppControllerから作成されるため、モデル、コンポーネント、およびその他の不要なものをロードします。これらのロジックをAppControllerから外すと、MyController12はそのすべてのロジックをロードしません。