この記事では、thinkphp3.2.2 のフロントエンドとバックエンドの共通クラス アーキテクチャの問題を例を通じて分析します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:
3.13 より前の多くのプロジェクトでは、共通のフロントエンド クラスとバックエンド クラスを使用していました。Baseaction を lib/action の下にパブリック継承クラスとして作成しました。3.2.2 では、多くの人が A を使用して呼び出すことがわかったので、A を使用する必要がありました。毎回それを呼び出すのはとても面倒でした。個人テストでは次のような方法で解きます。興味のある友達はそれを強化して改善することができます!
thinkphp3.2.2は次のようにApplication/Common/Controller/BaseController.class.phpを作成します
Home/Controller/ZixunController.class.php内
パブリック関数 Index() {
$result = $this->lists();
ダンプ($result);
}
}
もちろん、フロントエンドとバックエンドで独自の基本クラスを作成することもできます。たとえば、バックエンドで AdminController.class.php を作成すると、BaseController.class.php が継承され、HomeController.class.php が作成されます。フロントエンドでは BaseController.class.php を継承し、各モジュールは独自の基本クラスを継承します。これにより、プロジェクトがより明確になり、車輪の再発明が回避され、多くのことが節約されます。各クラスは名前空間を宣言する必要がありますが、使用されるリソースは、後で再度記述することなく、それぞれの基本クラスで定義できます。たとえば、AdminController.class.php が BaseController.class.php を継承する場合、 use ThinkController を記述する必要はなく、 use CommonControllerBaseController を使用するだけです。
この記事で説明した内容が、皆様の ThinkPHP フレームワーク プログラミングに役立つことを願っています。