コンテンツにスキップ

XOOPSのMVCパターン

XMF Required 4.0.x Native

モデル・ビュー・コントローラー(MVC)パターンはXOOPSモジュール内での関心の分離のための基本的なアーキテクチャパターンです。このパターンはアプリケーションを3つの相互接続コンポーネントに分割します。

モデル はアプリケーションのデータとビジネスロジックを表します。以下を行います:

  • データ永続化を管理
  • ビジネスルールを実装
  • データを検証
  • データベースと通信
  • UIから独立

ビュー はユーザーにデータを提示する責任があります。以下を行います:

  • HTMLテンプレートをレンダリング
  • モデルデータを表示
  • ユーザーインターフェースプレゼンテーションを処理
  • コントローラーにユーザーアクションを送信
  • 最小限のロジックを含むべき

コントローラー はユーザーインタラクションを処理し、モデルとビューを調整します。以下を行います:

  • ユーザーリクエストを受け取る
  • 入力データを処理
  • モデルメソッドを呼び出す
  • 適切なビューを選択
  • アプリケーションフローを管理

XOOPSでは、MVCパターンはハンドラーとSmarteyテンプレートエンジンを使用して実装されます。

<?php
class UserModel
{
private $db;
public function getUserById($id)
{
// データベースクエリ実装
}
public function createUser($data)
{
// ユーザー作成実装
}
}
?>
<?php
class UserController
{
private $model;
public function listAction()
{
$users = $this->model->getAllUsers();
return ['users' => $users];
}
}
?>
{foreach from=$users item=user}
<div>{$user.username|escape}</div>
{/foreach}
  • ビジネスロジックをモデルに保つ
  • プレゼンテーションをビューに保つ
  • ルーティング/調整をコントローラーに保つ
  • レイヤー間で関心事を混ぜない
  • コントローラーレベルですべての入力を検証

関連トピック:


タグ: #mvc #patterns #architecture #module-development #design-patterns