Nibiru とは?
Nibiru の 90 秒ツアー — MMVC が何を意味するか、何が同梱されているか、誰のためのものか。
Nibiru はモジュラー MVC PHP フレームワーク — MMVC — であり、本格的なフレームワークの規律を犠牲にせずに ラピッドプロトタイピング を実現するために作られました。頭の中に収まるほど小さく、ショーケースページ にある本番アプリを支えるほど強力です。
名前はバビロニア天文学への敬意です:Nibiru はバビロンの主神マルドゥクと結びついた天界の交差点でした。フレームワークも同じ考え方で動作します — モジュール、コントローラー、ビュー、データが交わる単一の点です。
同梱されているもの
Section titled “同梱されているもの”| ルーティングとディスパッチ | URL パターン + SEO URL のパース、ソフト 404、アクションの自動解決。 |
| MVC + もう 1 つの M | コントローラー、ビュー(Smarty)、モデル、加えて第一級の モジュール:トレイト、プラグイン、インターフェース、設定、Observer パターン。 |
| マルチデータベース | ネイティブ MySQL、PDO、libpq 経由の PostgreSQL(psql/postgresql)、ODBC、すべて統一された Db アダプターの背後に。 |
| フォーム | 28 種類以上のフィールドタイプを Form::addInputType…() と div のレイアウトヘルパーで流暢に構築。 |
| ページネーション | URL を意識(/controller/action/page/N)、テンプレートヘルパー付き。 |
| 認証 | セッションベース、AES 復号化された認証情報、Users モジュールが事前構築したログインフォーム。 |
CLI(./nibiru) | モジュール、コントローラー、プラグインの scaffolding、マイグレーションの実行、キャッシュのクリア、CMS ページの管理。 |
| Composer 対応 | Smarty 3、PHPMailer、Guzzle、Laminas Diactoros、OpenAI クライアント、Elasticsearch クライアント、QR コード、バーコード、ブロックチェーンツール。 |
MMVC の本当の意味
Section titled “MMVC の本当の意味”ほとんどの PHP フレームワークは Model–View–Controller を提供します。Nibiru は 2 つ目の M を追加します:モジュール。
モジュールは自己完結した単位で、以下を含むことができます:
IModuleを実装するメインクラス(オプションで Observer パターンのSplSubject)、- 再利用可能な動作のための トレイト、
- コントローラーに注入される無状態サービスのための プラグイン、
- 契約を表す インターフェース、
- レジストリ によって自動発見される
.iniファイルとしての 設定。
モジュールは疎結合を促進し、application/controller/ を汚染することなく “users”、“billing”、“shop”、“tpms” などを独自のフォルダに保持できます。
application/module/users/ ├── users.php # メインクラス(IModule、SplSubject を実装) ├── interfaces/ # 契約 ├── plugins/ # 無状態サービス(User、Acl…) ├── settings/ # レジストリが自動ロードする .ini 設定 └── traits/ # 再利用可能なメソッドリクエストライフサイクル、ひとことで
Section titled “リクエストライフサイクル、ひとことで”flowchart LR A[index.php] --> B[core/framework.php] B --> C[Dispatcher::run] C --> D[Router::route] D --> E[Auto::loader<br/>モデル + モジュール] E --> F[applicationController.php] F --> G[navigationAction] G --> H[customAction?] H --> I[pageAction] I --> J[Display::display<br/>Smarty レンダリング]すべてのリクエストは navigationAction()、次に(オプションで)一致した _actionAction、最後に pageAction() を実行します。コントローラーファイルが見つからない場合、Nibiru は設定されたエラーテンプレートをレンダリングします — ソフト 404。
Nibiru は誰のためか
Section titled “Nibiru は誰のためか”- 今週末に動作する Web アプリを出荷したい ハッカーとプロトタイパー。
- メガフレームワークの重さを背負わずに本番アプリを保守する ソロ起業家と小規模チーム。
- 初日から PostgreSQL、MySQL、CLI を使いたい PHP に興味のあるチーム。
準備はできましたか? Nibiru をインストール →