@Rushinoここには、フロントエンド(読者用)とバックエンド(管理者用)の2つの「アプリ」があります。機能のグループごとに、コントローラーがあります。
ログインはそのようなグループであり、フォームHTMLの生成(フィールド、ビューの呼び出し)、およびフォームの処理(検証、モデルとの接続)が含まれます。したがって、「ログイン」は、generateFormとhandleFormの2つのアクションを持つコントローラーです。
ページは、ページを表示するだけのフロントエンドアプリと、編集、削除、作成、および異なる方法で表示できるバックエンドアプリに分けられます。ホームページは、少なくともフロントエンドでは「別のページ」であるため、ページコントローラーに収まります。バックエンドでは、そのロジックが完全に異なるため、異なるコントローラーを持つことを完全に正当化できます。
ユーザーの場合-ユーザーが自分自身を登録できる場合、フロントエンドコントローラーが必要になりますが、そうでない場合は、ユーザーに関するすべてがバックエンドで実行されます。
各バックエンド関数には、ジェネレーターとハンドラーの両方が必要な場合があることに注意してください。ただし、これらは、汎用のフォームジェネレーターであるプラグインを使用して、構成ファイルに分割できます。
要約すると、次のようになります。
Frontend
Pages
View, Handle
Login
View, Handle
Users
Register (note that the handler can be the same as 'create' on the backend)
Contact
View
Handle
Backend
Users
Create, Delete, Edit, Update, View
Pages
Create, Delete, Edit, Update, View