目の前に僕らの道がある

勉強会とか、技術的にはまったことのメモ

Dancerを試してみた 4

今回は設定に関してです。ここまで分かれば簡単なアプリケーションは作れるかな。

後はデプロイに関しても調べなきゃいけないとは思うのですが、外部公開とかしない限りは組み込みスタンドアロンサーバで十分なのでしばらく放置します。

テストに関しては時間があったら触れてみたいとは思います。Dancer::Testというテストモジュールがあるようなので。

環境設定ファイル

Dancerのグローバルな設定ファイルは/config.ymlに置かれます。拡張子をみれば分かるとおりYAML形式で記述されます。

また、環境ごとに設定ファイルを分ける場合には/environment/'環境名'.ymlに設定を記述します。起動時に環境の指定がない場合、/environment/development.ymlが読み込まれます。

組み込みスタンドアロンサーバの場合。

perl 'アプリケーション名'.pl --environment '環境名'
設定項目
  • server (string)
    • アプリケーションがバインドするIPアドレス。デフォルトでは0.0.0.0になっており、全ての有効なインタフェースにバインドされる。
  • port (int)
    • 待ち受けポート。デフォルトでは3000
  • daemon (boolean)
  • content_type (string)
    • デフォルトはtext/html。
  • charset (string)
    • デフォルトは空。
  • public (strinng)
    • 静的ファイルを置くディレクトリパス。デフォルトは/public。
  • layout (string)
    • layoutテンプレートの指定。/views/layoutディレクトリ以下にある一致したファイルをlayoutテンプレートとして使用する。
  • warnings (boolean)
    • 真の場合、全てのwarningをbrocking errorとして処理する。
  • log (enums)
    • ログレベルの設定、debug,warning,errorから選択できる、
      • debug - 全てのメッセージを記録する。
      • warning - warningとerrorのみ記録する。
      • error - errorのみ記録する。
  • show_error (boolean)
    • 真の場合、エラー時にデバッグスクリーンを表示する。偽の場合、publicディレクトリにあるエラーコードに応じたデフォルトのエラーページを表示する。
  • auto_reload (boolean)
    • 真の場合、ファイルが更新された際、ルートハンドラーをリロードする。
    • 開発時には有用だが、実運用時には無効にすべきとのこと。
  • session (enum)
    • 使用するセッションエンジンの指定。デフォルトではセッションは無効。
    • セッションに関しては3回目で少し触れています。
環境設定にアクセス

コード内で環境設定を変更するにはsetを使用します。

# set '設定項目' => '設定内容'
set port => 8080;

コード内で環境設定を取得するにはconfig->{}を使用します。

# config->{'設定項目'}
config->{port};