ここは以前の ethna.jp サイトを表示したものです。ここにあるドキュメントはバージョン2.6以降更新されません。
最新のドキュメントは 現在のethna.jp を閲覧してください。現ドキュメントが整備されるまでは、ここを閲覧してください。
Ethna > ドキュメント > 開発マニュアル > その他 > 設定情報や定義済みアクション等を一覧する

設定情報や定義済みアクション等を一覧する

バージョン0.1.2からEthna組み込みのアクション「__ethna_info__」が追加されました。このアクションを実行すると、Ethnaの設定情報や、定義済みのアクションやビューの一覧を表示させることが出来ます。実行イメージは以下のようになります*1

http://ethna.jp/image/ethna-fig16.jpg

このように定義されたアクションや遷移先、設定情報が表示されます。

http://ethna.jp/image/ethna-fig17.jpg

設定方法

この画面を表示させる手順は結構簡単で、以下のようになります。

(1) debugフラグの設定

言うまでも無く、__ethna_info__アクションの結果が見知らぬ人に対して表示されるとphpinfo()とは比較にならないほど危険です(危険な情報が表示されているphpinfo()な画面もしばしば見かけますが)。ですので、__ethna_info__の実行には以下の2つの制限があります。

  1. 設定ファイルのdebugフラグがtrueになっていること
  2. エントリポイントで__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__アクションは「とりあえず作ってみた」という実験的な段階にありますので、不具合やご要望等ありましたらご意見/ご要望/バグ報告ページからお知らせ下さい。


*1 どこかで見たようなデザインです