設定情報や定義済みアクション等を一覧する
バージョン0.1.2からEthna組み込みのアクション「__ethna_info__」が追加されました。このアクションを実行すると、Ethnaの設定情報や、定義済みのアクションやビューの一覧を表示させることが出来ます。実行イメージは以下のようになります*1。
このように定義されたアクションや遷移先、設定情報が表示されます。
設定方法
この画面を表示させる手順は結構簡単で、以下のようになります。
(1) debugフラグの設定
言うまでも無く、__ethna_info__アクションの結果が見知らぬ人に対して表示されるとphpinfo()とは比較にならないほど危険です(危険な情報が表示されているphpinfo()な画面もしばしば見かけますが)。ですので、__ethna_info__の実行には以下の2つの制限があります。
- 設定ファイルのdebugフラグがtrueになっていること
- エントリポイントで__ethna_info__アクションが指定されていること(フォームからのリクエストで__ethna_info__アクションが実行されることはありません)
というわけで、まずは設定ファイルのdebugフラグをtrueに設定します。generate_project_skelton.phpを使用した場合は
etc/{$appid}-ini.php
というファイルが生成されていると思います。このファイルを以下のように修正します。
$config = array( - 'debug' => false, + 'debug' => true, );
(2) エントリポイントの作成
しつこいようですが、__ethna_info__アクションの結果が見知らぬ人に対して表示されるとphpinfo()とは比較にならないほど危険です。ですので、__ethna_info__アクションはフォームからのリクエストでは実行されないようになっています。というわけで、__ethna_info__アクションを実行するためにはwwwディレクトリに専用のエントリポイントを明示的を作成します。具体的には以下のようなファイルをwww/info.php(など)として作成します。
<?php include_once('/tmp/sample/app/Sample_Controller.php'); Sample_Controller::main('Sample_Controller', array('__ethna_info__')); ?>
上記はアプリケーションIDが'Sample'でプロジェクトのベースディレクトリが/tmp/sampleの場合の例ですので、パス名やコントローラ名は適宜変更してください。
(3) 動作確認
以上が完了したら、(2)で作成したinfo.phpへアクセスして下さい。それらしき画面が表示されると思います。
なお、__ethna_info__アクションは「とりあえず作ってみた」という実験的な段階にありますので、不具合やご要望等ありましたらご意見/ご要望/バグ報告ページからお知らせ下さい。