XMFフレームワーク
2.5.x ✅ 4.0.x ✅
XOOPS Module Framework (XMF) は、XOOPS モジュール開発を簡素化および標準化するために設計された強力なライブラリです。XMF は、名前空間、オートロード、および定型的なコードを削減し、保守性を向上させるヘルパークラスの包括的なセットを含む最新のPHP実践をサポートします。
XMFは以下を提供するクラスおよびユーティリティの集合です:
- 最新のPHPサポート - PSR-4オートローディング完全対応の名前空間
- リクエスト処理 - 安全な入力検証とサニタイゼーション
- モジュールヘルパー - モジュール設定とオブジェクトへの簡潔なアクセス
- 権限システム - 使いやすい権限管理
- データベースユーティリティ - スキーママイグレーションとテーブル管理ツール
- JWTサポート - 安全な認証用のJSON Web Token実装
- メタデータ生成 - SEOとコンテンツ抽出ユーティリティ
- 管理インターフェース - 標準化されたモジュール管理ページ
XMFコンポーネント概要
Section titled “XMFコンポーネント概要”graph TB subgraph XMF["XMFフレームワーク"] direction TB subgraph Core["コアコンポーネント"] Request["🔒 Request<br/>入力処理"] Module["📦 Module Helper<br/>設定とハンドラ"] Perm["🔑 Permission<br/>アクセス制御"] end
subgraph Utils["ユーティリティ"] DB["🗄️ Database<br/>スキーマツール"] JWT["🎫 JWT<br/>トークン認証"] Meta["📊 Metagen<br/>SEOユーティリティ"] end
subgraph Admin["管理ツール"] AdminUI["🎨 Admin UI<br/>標準化ページ"] Icons["🖼️ Icons<br/>Font Awesome"] end end
subgraph Module["あなたのモジュール"] Controller["コントローラ"] Handler["ハンドラ"] Template["テンプレート"] end
Controller --> Request Controller --> Module Controller --> Perm Handler --> DB Template --> AdminUI
style XMF fill:#e3f2fd,stroke:#1976d2 style Core fill:#e8f5e9,stroke:#388e3c style Utils fill:#fff3e0,stroke:#f57c00 style Admin fill:#fce4ec,stroke:#c2185b名前空間とオートロード
Section titled “名前空間とオートロード”すべてのXMFクラスはXmf名前空間に存在します。クラスは参照されたときに自動的にロードされます - 手動で含める必要はありません。
use Xmf\Request;use Xmf\Module\Helper;
// クラスはよ使用時に自動的にロード$input = Request::getString('input', '');$helper = Helper::getHelper('mymodule');セキュアなリクエスト処理
Section titled “セキュアなリクエスト処理”Requestクラス は、組み込みのサニタイゼーション付きHTTPリクエストデータへの型安全なアクセスを提供します:
flowchart LR subgraph Input["生入力"] GET["$_GET"] POST["$_POST"] REQUEST["$_REQUEST"] end
subgraph XMF["Xmf\\Request"] Validate["型検証"] Sanitize["サニタイゼーション"] Default["デフォルト値"] end
subgraph Output["安全な出力"] Int["getInt()"] Str["getString()"] Email["getEmail()"] Bool["getBool()"] end
GET --> XMF POST --> XMF REQUEST --> XMF XMF --> Int XMF --> Str XMF --> Email XMF --> Bool
style Input fill:#ffcdd2,stroke:#c62828 style XMF fill:#fff3e0,stroke:#f57c00 style Output fill:#c8e6c9,stroke:#2e7d32use Xmf\Request;
$id = Request::getInt('id', 0);$name = Request::getString('name', '');$email = Request::getEmail('email', '');モジュールヘルパーシステム
Section titled “モジュールヘルパーシステム”モジュールヘルパー はモジュール関連機能への便利なアクセスを提供します:
$helper = \Xmf\Module\Helper::getHelper('mymodule');
// モジュール設定にアクセス$configValue = $helper->getConfig('setting_name', 'default');
// モジュールオブジェクトを取得$module = $helper->getModule();
// ハンドラにアクセス$handler = $helper->getHandler('items');権限ヘルパー はXOOPS権限処理を簡素化します:
$permHelper = new \Xmf\Module\Helper\Permission();
// ユーザー権限を確認if ($permHelper->checkPermission('view', $itemId)) { // ユーザーは権限を持っている}ドキュメント構成
Section titled “ドキュメント構成”- XMF入門 - インストールと基本的な使用方法
- XMF-Request - リクエスト処理と入力検証
- XMF-Module-Helper - モジュールヘルパークラス使用
- 権限ヘルパー - 権限の操作
- モジュール管理ページ - 標準化された管理インターフェースの作成
リファレンス
Section titled “リファレンス”- XOOPS 2.5.8以降
- PHP 7.2以降 (PHP 8.x推奨)
インストール
Section titled “インストール”XMFはXOOPS 2.5.8以降のバージョンに含まれています。以前のバージョンまたは手動インストールの場合:
- XOOPS リポジトリからXMFパッケージをダウンロード
- XOOPS
/class/xmf/ディレクトリに抽出 - オートローダーがクラスロードを自動的に処理
クイックスタート例
Section titled “クイックスタート例”一般的なXMF使用パターンを示す完全な例を以下に示します:
<?phpuse Xmf\Request;use Xmf\Module\Helper;use Xmf\Module\Helper\Permission;
// モジュールヘルパーを取得$helper = Helper::getHelper('mymodule');
// 設定値を読み込む$itemsPerPage = $helper->getConfig('items_per_page', 10);
// リクエスト入力を処理$op = Request::getCmd('op', 'list');$id = Request::getInt('id', 0);
// 権限を確認$permHelper = new Permission();if (!$permHelper->checkPermission('view', $id)) { redirect_header('index.php', 3, 'アクセスが拒否されました');}
// 操作に基づいて処理switch ($op) { case 'view': $handler = $helper->getHandler('items'); $item = $handler->get($id); // ... アイテムを表示 break; case 'list': default: // ... アイテムをリスト表示 break;}#xmf #xoops #framework #php #module-development