私は現在Lithiumアプリケーションを開発していて、複数のコントローラーで使用したい関数を作成しました。
私は明らかに各コントローラーに機能を持たせたくありません。リチウムで再利用可能なコンポーネントを作成する標準的な方法は何ですか?
ドキュメントに検索機能がないため、詳細を見つけるのが困難になっています。
私は現在Lithiumアプリケーションを開発していて、複数のコントローラーで使用したい関数を作成しました。
私は明らかに各コントローラーに機能を持たせたくありません。リチウムで再利用可能なコンポーネントを作成する標準的な方法は何ですか?
ドキュメントに検索機能がないため、詳細を見つけるのが困難になっています。
コントローラを拡張してみてください。コア開発者によると、コントローラーの拡張はそれほど悪くはありません。そうでない場合は、オプションでコードをプラグインに抽出できますが、コントローラーにはコードが含まれています。
あなたがしなければならないのは、を作成しextensions/action/Controller.php
、コントローラーにそれを拡張させることです。
あなたの中でextensions/action/Controller.php
<?php
namespace app\extensions\action;
class Controller extends \lithium\action\Controller {
protected function _init() {
parent::_init();
//add your functionality here
}
}
?>
次に、コントローラーは上記のベースコントローラーを拡張する必要があります。class MyController extends \app\extensions\action\Controller {
これはリチウム特有のものではないと思います。コントローラから継承して独自のベースコントローラを作成することもできますが、機能を保持する任意のクラスを作成することもできます。フレームワークにあなたを妨げさせないでください=)
ドキュメントに関して:私は通常、次の意味でグーグルします"<keywords> site:lithify.me"