スキャフォールディング モジュールとコントローラー
CLIを使用してコントローラー、モジュール、プラグインを生成します。
コントローラー
Section titled “コントローラー”./nibiru -c products2つのファイルを作成します。
application/controller/productsController.phpapplication/view/templates/products.tplコントローラーのスタブ:
<?phpnamespace Nibiru;use Nibiru\Adapter\Controller;
class productsController extends Controller{ public function pageAction() { View::assign(['title' => 'Products']); }
public function navigationAction() { JsonNavigation::getInstance()->loadJsonNavigationArray(); }}テンプレートのスタブ:
{include 'shared/header.tpl'}<body>{include file="navigation.tpl"}<main class="container"> <h1>{$title}</h1></main>{include 'shared/footer.tpl'}</body>コントローラーはPHPファイルのみです。JSやCSSのスキャフォールディングはありませんので、アセットの接続を自分で管理できます。
./nibiru -m billing作成します:
application/module/billing/├── billing.php├── interfaces/billing.php├── plugins/├── settings/billing.ini└── traits/メインクラスは IModule を実装し、モジュールのレジストリ構成を読み込むコンストラクタを公開しています。-g フラグを追加して、Graylog オブザーバーのワイヤリングをデフォルトで含めます:
./nibiru -m billing -g-g が設定されている場合、スカフォールドは Graylog オブザーバーをインポートし、コンストラクタでアタッチし、キーの状態変化時に notify() を発行します。これにより、追加のプラッミングなしに GELF 対応の Graylog サーバーがモジュールイベントをキャッチすることができます。
プラグインはモジュールの内部に存在します。
./nibiru -p invoices -m billingapplication/module/billing/plugins/invoices.php を作成します:
<?phpnamespace Nibiru\Module\Billing\Plugin;use Nibiru\Module\Billing\Billing;
class Invoices extends Billing{ public function listOpen(): array { return \Nibiru\Pdo::fetchAll( 'SELECT * FROM invoices WHERE status = :s ORDER BY due_date', [':s' => 'open'] ); }}プラグインはモジュールから継承するため、レジストリ、設定、およびオブザーバーの仕組みを共有します。
ブートストラップ (-s)
Section titled “ブートストラップ (-s)”./nibiru -s はインストール後(または新しいチェックアウトを取得した後)に実行され、以下の操作を行います:
application/view/templates_c/とapplication/view/cache/が存在しない場合は作成します。- これらのフォルダの権限を確認し、ウェブサーバーユーザーで書き込み可能に設定します。
- 必要な PHP 拡張機能が読み込まれていることを確認します。
- INI ファイル内のデータベースドライバがこのバイナリビルドでサポートされていることを確認します。
繰り返し実行しても安全です。
キャッシュクリア (-cache-clear)
Section titled “キャッシュクリア (-cache-clear)”SmartyのコンパイルキャッシュとレンダリングされたHTMLキャッシュを両方クリアします:
./nibiru -cache-clearデプロイ後に実行してください:
.tplファイルを変更した場合、[ENGINE] キャッシング設定を変更した場合、- Smarty プラグインを修正した場合。
キャッシュは次のリクエストで再生成されます。