Skip to content

フロントコントローラー

EnviMVC edited this page Jul 6, 2012 · 3 revisions

フロントコントローラーについて

ユーザーのリクエストは、フロントコントローラーに集約されます。
デフォルトの設定を使用して、envi app アプリキーコマンドで、アプリケーションの初期化を行った場合、

./web/アプリキー.php

が、フロントコントローラーとなります。

  • アプリキー
    • main
  • モジュール
    • default
  • アクション
    • index

にリクエストしたい場合、

http://example.com/main.php/default/index

と言うようになります。

System->extの設定が、

 .php

の場合、

http://example.com/main.php/default/index.php

となります。

ドキュメントルートの変更と、フロントコントローラーの修正

ドキュメントルートが別のディレクトリになっている場合や、 フロントコントローラーのファイル名を変えたい場合は、 自由にファイル名や場所を移動して構いません。

ただし、フロントコントローラ内のパスの指定は、 相対的に指定されているためそこを正しい値に変更する必要があります。

ですが、怖がる必要はありません。
フロントコントローラはシンプルになるように設計されているため、変更は容易です。

  • define('LW_START_MTIMESTAMP', microtime(true));

    • ロガーで実行時間を記録するための定数です。
      • 通常は変更する必要はありません。
      • 設定されていない場合は、Enviオブジェクト生成時に時間のカウントが始まります。
  • define('ENVI_MVC_APPKEY_PATH', realpath('../config/').DIRECTORY_SEPARATOR);

    • アプリキーに対応した、YAMLファイルが置かれているディレクトリのパスです。
      • エクステンションごとに設定ファイルの置き場所が違う場合などは、アプリキー.ymlが置かれているディレクトリを指定してください。
      • 省略した場合は、envi.phpから見た相対場所を参照します。
  • define('ENVI_MVC_CACHE_PATH', realpath('../cache/').DIRECTORY_SEPARATOR);

    • EnviMVCのキャッシュディレクトリを指定します。
      • PHPの実行ユーザーからの書き込み権限が必要です。
      • 省略した場合は、envi.phpから見た相対場所を参照します。
  • define('ENVI_SERVER_STATUS_CONF', realpath('../env/ServerStatus.conf'));

    • EnviMVCが実行されている環境設定が入っているファイルを指定します 。
      • 省略した場合は、envi.phpから見た相対場所のdev設定を参照します。
  • $debug = true;

    • EnviMVCを開発モードで動作させるかどうかを設定します。

どうですか?たったの5項目のみの設定です。