設定

Chimpanzeeでは個別のアプリケーションの設定ファイルはアプリケーションディレクトリ直下のconfigs

(app_root)/configs

に配置されます。すべてのアプリケーションで共通の場合は

_common/configs

に配置されます。前者に設定のあるものはそれが優先され、ない場合は後者のものが適用されます。データベース接続など、アプリケーションごとに分ける場合は

_common/configs/Db.php

をコピーして

(app_root)/configs/Db.php

として設置し、それ以外の設定は_common以下のものを踏襲するというのも結構です。

Chimpanzeeでは設定を行う基底クラスとしてCZConfigクラスがあり、configsディレクトリにはこのクラスの派生クラスファイル群が配置されます。ファイルが分かれているのは、フレームワークの機能単位で読み込むことでその機能を使わない時には読み込まないようにし、メモリの節約をするためです。またすべての設定をPHPの(連想)配列形式で行っていますが、これはパフォーマンスを最優先にするという目的によるもので、XMLなどの形式を採用せずPHPネイティブの配列という形式にしているのです。設定クラスは以下の構造になります。

<?
class configCZ extends CZConfig {
	public function _construct() {
		$this->setValues(array(
			'obj_load_only' => FALSE,
			'develop_flag' => TRUE,
		));
	}
}
?>

コンストラクタ_construct()CZConfig::setValues(array $values)を実行することで設定を行っています。setValues()の引数で渡す連想配列が設定内容になります。形式はキーを設定名、値をその設定値とする連想配列になります。設定値はスカラのこともあれば連想配列となることもあります。設定ファイルの設定項目(連想配列のキー)を削除した場合、デフォルトの設定値が適用されます。個別のファイルにおける設定内容は以下のとおりです。

CZ.php

全体設定です。

obj_load_only
(bool) TRUEにすると、メソッドnewXXXを用いてクラスインスタンスを生成する際、生成後もインスタンスを保持するようにします。 つまりnewXxx()を実行したときもloadXxx()と同じ動作をするようになります。 通常(FALSEの場合)newXxx()の実行後はインスタンスを保持しません。 この機能の詳細はクラスを参照してください。
develop_flag
(bool) 開発モードにするかどうかを設定します。開発モードでは
  • FATALエラー時に詳細エラーを表示します
  • php.iniの設定でdisplay_errorsOnになります
TRUEにすると開発モードとなります。これを指定しない(設定ファイルから削除)場合、TRUEと同じになります。
tmp_dir
(string) フレームワークが使用する作業用ディレクトリを絶対パスで指定します。このディレクトリのパーミッションは777にしておく必要があります。指定しない(空文字)場合、(project_root)/tmpが使用されます。
default_time_zone
(string) PHPのdate()などの関数で指定するdefault_time_zoneを指定します。date_default_timezone_set()で指定する引数となります。指定するタイムゾーン文字列はhttp://php.net/manual/timezones.phpを参照してください。これを指定しないとE_NOTICEが発生します(PHPの仕様として)。

Db.php

データベース接続情報を設定します。

servers
(array) 接続するデータベース情報を設定します。
main
(array) マスタ(読み書き)の接続情報を設定します。データベースサーバ1台で運用する場合はここだけ指定します。
dsn
(string) DSNの文字列を指定します。
user
(string) 接続ユーザ名を文字列で指定します。
pass
(string) 接続パスワードを文字列で指定します。
sub
(array) 負荷分散でデータベースサーバを複数台構成にする場合に、スレーブ(読み込み専用)の接続情報を設定します。スレーブが複数台あることもありますので複数設定可能です。
'sub' => array(
	array(	// スレーブ1台目
		'dsn'  => 'mysql:dbname=sub_dbname1;host=localhost',
		'user' => 'sub_user1',
		'pass' => 'sub_pass1',
	),
	array(	// スレーブ2台目
		'dsn'  => 'mysql:dbname=sub_dbname2;host=localhost',
		'user' => 'sub_user2',
		'pass' => 'sub_pass2',
	),
),
接続情報の指定方法はmainと同じです。
persistent_flag
(bool) データベースに持続的接続するかどうかを設定します。TRUEにすると持続的接続します。
table_name_prefix
(string) テーブル名に付けるプレフィクスを文字列で指定します。

Err.php

エラーメッセージの表示方法を設定します。

msg_head_str
(string) エラーメッセージの前に付ける文字列を設定します。msg_tail_strとセットでエラーメッセージを指定したHTMLタグで囲むのに使用することもできます。
msg_tail_str
(string) エラーメッセージの後に付ける文字列を設定します。

Facebook.php

facebookアプリを開発する際にアプリの基本情報を設定します。

app_id
(string) facebookアプリのApp IDを指定します(facebookアプリを開発する場合は必須)。
app_secret
(string) facebookアプリのApp Secretを指定します。
app_access_token
(string) facebookアプリのApplication Tokenを指定します。
scope
(string) facebookアプリでユーザから許諾を得る(permissionをもらう)機能を指定します。カンマ区切り文字列で指定します。許諾の必要となる機能を使用する場合には必須となります。

Filter.php

フィルタ(バリデーション)機能に関する情報を設定します。

validate_err_msg
(string) フォームにおいて、フォームクラスのAddPart()SetParts()でバリデーションエラーメッセージが指定されていない場合に表示するエラーメッセージを指定します。フォームクラスのAddPart()SetParts()で指定した文字列がある場合、そちらが優先されます。

Form.php

フォームの表示方法を設定します。

description_head_str
(string) 各入力タグの説明文(description)の前に付ける文字列を設定します。description_tail_strとセットで説明文を指定したHTMLタグで囲むのに使用することもできます。
description_tail_str
(string) 各入力タグの説明文(description)の後に付ける文字列を設定します。
err_msg_head_str
(string) バリデーションエラーメッセージの前に付ける文字列を設定します。err_msg_tail_strとセットでメッセージを指定したHTMLタグで囲むのに使用することもできます。
err_msg_tail_str
(string) バリデーションエラーメッセージの後に付ける文字列を設定します。
required_err_msg
(string) 必須項目に入力漏れがあった時のエラーメッセージを設定します。
confirm_err_msg
(string) フォームのバリデーション機能の一致チェックで入力内容が一致していない場合に表示するエラーメッセージを指定します。
upload_file_size_err_msg
(string) ファイルアップロード時にサイズ制限を超えていた場合のエラーメッセージを設定します。
pass_hide_str
(string) 確認画面でパスワードの代わりに表示する文字列を設定します。これを指定しない(設定ファイルから削除)場合、パスワードがそのまま表示されます。空文字「''」もしくはNULLにした場合、パスワードは表示されません。

Forward.php

コントローラのフォワード機能に関する設定を行います。

return_flag
(string) CZCtrl::redirectReturn()やビュー変数$_return_urlによるアクショングループを用いた「戻る」処理を可能にするかどうかを指定します。TRUEにすると「戻る」処理が可能になります。この機能を用いる場合、戻り先のURLを常にセッション変数として保存するためにその分メモリを使用し続けることになります。したがってこの機能を使用しない場合はFALSEにしておくといいでしょう。

Html.php

自動生成するHTMLに関する情報を設定します。

form
(array) フォーム(入力画面)の自動生成HTMLに関する設定をします。
html_type
(string) フォーム画面のHTMLを
  • <table>を用いたテーブル形式(デザインのコーディングは容易)
  • <dl>を用いたリスト(フォームは表ではないということでW3Cの勧告には厳密に従う)
  • テーブルやリストを用いず、<br />で改行しただけのテキストレイアウト(携帯向け)
の3種類から選択します。'table'でテーブル形式、'dl'でリスト、'br'でテキストレイアウト形式となります。ただし携帯電話からのアクセスの場合、ここでどれを選択しても'br'として表示されます。
tag_options
(array) 自動生成するHTMLタグに付加する文字列を指定します。classによるスタイルシートのクラス、onblurなどjavascriptのイベントハンドラを記述します。HTMLに現われるタグの種類ごとに文字列を指定できます。タグ名をキー、付加する文字列を値とする連想配列となります。
'tag_options' => array(
	'table' => 'border="1" width="700"',
	'tr'    => NULL,
	'th'    => 'width="30%"',
	'td'    => 'width="70%"',
),
空文字「''」もしくはNULLにするとそのタグについては何も付加しません。
html_typeによって生成されるタグは異なります。
html_typetableを指定した場合、
'table'	=> 'border="1" width="700"',
'tr'	=> NULL,
'th'	=> 'width="30%"',
'td'	=> 'width="70%"',
  • table
  • tr
  • th
  • td
について指定可能です。
html_typedlを指定した場合、
'dl'	=> 'class="item"',
'dt'	=> 'onclick="show(1)"',
'dd'	=> '',
  • dl
  • dt
  • dd
について指定可能です。
html_typebrを指定した場合は文字列は付加されず、この設定項目は無効になります。
caption_head_str
(string) キャプションの前に付ける文字列を指定します。caption_tail_strとセットでキャプションを指定したHTMLタグで囲むのに使用することもできます。
caption_tail_str
(string) キャプションの後に付ける文字列を指定します。
confirm
(array) 確認画面の自動生成HTMLに関する設定をします。指定方法はformの場合と同じです。
list
(array) レコードの一覧画面の自動生成HTMLに関する設定をします。指定方法はformの場合と同じです。
detail
(array) レコードの詳細画面の自動生成HTMLに関する設定をします。指定方法はformの場合と同じです。

Image.php

画像ファイル操作に関する設定をします。

save_dir
(string) 画像を保存するディレクトリのフルパスを文字列で指定します。これを指定しない(設定ファイルから削除)場合、もしくは空文字「''」やNULLを指定した場合、プロジェクトディレクトリ直下のimagesになります。ここで指定したディレクトリはWebサーバの実行ユーザから書込可になっている必要があります。
server_url
(string) 画像表示サーバ(ChimpanzeeImageServer.phpを呼び出すフロントコントローラ)のURLを文字列で指定します。いわゆるimage.phpのURLです。これを指定しない(設定ファイルから削除)場合、もしくは空文字「''」やNULLを指定した場合、現在のフロントコントローラと同じ配下のimage.phpとなります。

Login.php

ログインに関する情報をを設定します。

auto_redirect
(array) 非ログイン時に表示(リダイレクト)する画面のコントローラ名、アクショングループ名、アクション名を設定します。これを指定しない(配列そのものを設定ファイルから削除)場合、もしくは空の配列やNULLを指定した場合、リダイレクト処理は行われません。
ctrl_name
(string) コントローラ名を文字列で指定します。
action_group_name
(string) アクショングループ名を文字列で指定します。アクショングループを使用しない場合は空文字「''」もしくはNULLにします。
action_name
(string) アクション名を文字列で指定します。
secure_flag
(bool) リダイレクト先を「https://」にするか「http://」にするかを指定します。TRUEにすると「https://」で始まるセキュアなURLにリダイレクトします。
save_cookie_lifetime
(integer) ログイン情報を保存するCookieの有効期間を秒で指定します。30日であれば「86400 * 30」となります。0の場合ログイン情報をブラウザが保持しません。
save_cookie_path
(string) ログイン情報を保存するCookieのパスを指定します。
save_cookie_domain
(string) ログイン情報を保存するCookieのドメインを指定します。指定しない(NULL)の場合、アクセスされているホストのドメイン名が適用されます。

Mobile.php

フィーチャフォン関連設定です。

enable_flag
(bool) フィーチャフォン対応するかどうかを設定します。TRUEにするとフィーチャフォン対応します。フィーチャフォン対応することで、フィーチャフォンでアクセスしたときに
  • フィーチャフォンで表示可能なHTMLで出力
  • $this->newModule('mobile')->isMobile()がTRUE
となります。
force_flag
(bool) TRUEにするとenable_flagがTRUEの場合に限り、フィーチャフォン以外からのアクセスでもフィーチャフォンからのアクセスとみなしてHTMLを表示します。開発時などに有効にするオプションです。

Model.php

モデルに関する情報を設定します。

link_to_detail_str
(string) 一覧画面で自動生成されるHTMLにおいて詳細画面へのリンクに表示する文字列を指定します。
link_to_update_str
(string) 一覧画面で自動生成されるHTMLにおいて編集画面へのリンクに表示する文字列を指定します。
link_to_delete_str
(string) 一覧画面で自動生成されるHTMLにおいて削除画面へのリンクに表示する文字列を指定します。

Ses.php

セッションやCookieに関する情報を設定します。

secure_flag
(bool) TRUEにするとSSLの時にのみセッション機能が有効になります。
server_lifetime
(int) サーバでセッションファイルを残す期間を指定します(単位は秒)。
save_path
(string) サーバ内でセッションファイルを格納するディレクトリを絶対パスで指定します。指定しない(空文字)場合はPHPが指定するサーバ共通のディレクトリが使用されます。主にレンタルサーバーで、他のユーザからアクセスできるサーバ共通の設定の場所を使用したくない場合に使用します。
cookie_only_flag
(bool) TRUEにするとCookieが有効の時にのみセッション機能が有効になります。
cookie_lifetime
(int) Cookieの有効期間を指定します(単位は秒)。0にするとブラウザを閉じたときに有効期限が切れます。
cookie_path
(string) サーバ内でCookieを有効にするディレクトリのパスを指定します。特定のディレクトリ以下のみ有効なCookieを設定する場合に指定します。「'/'」とするとそのドメイン全体で有効となります。PHPの関数setcookie()の引数「path」になります。
cookie_domain
(string) Cookieを有効にするドメイン名を指定します。NULLの場合現在のドメインだけで有効なCookieとなります。フレームワークの動作しているサーバと異なるドメインのCookieを生成する場合に指定します。
protect_level
(string) Cookieを有効にする範囲を指定します。
  • 同一アプリケーション内でのみ有効なCookieであれば「application」を
  • プロジェクト全体で有効なCookieであれば「project」を
  • プロジェクト、アプリケーションに限定しないCookieであれば「free」を
指定します。

Sp.php

スマートフォン関連設定です。

enable_flag
(bool) スマートフォン対応するかどうかを設定します。TRUEにするとスマートフォン対応します。スマートフォン対応することで、スマートフォンでアクセスしたときに
  • スマートフォンで表示可能なHTMLで出力
  • $this->newModule('sp')->isSP()がTRUE
となります。
force_flag
(bool) TRUEにするとenable_flagがTRUEの場合に限り、スマートフォン以外からのアクセスでもスマートフォンからのアクセスとみなしてHTMLを表示します。開発時などに有効にするオプションです。

Url.php

ビューで使用するURL関連情報を設定します。

secure_ignore_flag
(bool) 通常引数に$secure_flagが含まれるメソッドでは、この値がTRUEの時に生成されるURLはセキュアURL(https://~)となります。ところがこの設定をTRUEにすることでアプリケーション全体で$secure_flagを無視して一括で非セキュアURL(http://~)とします。開発環境でSSLを使用していない場合や、SSL証明書の発行待ちの時などにTRUEにします。
images
(string) 画像格納パスのURLを意味するビュー変数$_images_urlの値を設定します。 imagesで画像格納パスのURLを指定すると、$_images_urlとして画像格納パスのURLを末尾にスラッシュを付加せず返します。
たとえばimageshttp://mydomain.com/imagesとした場合、$_images_urlhttp://mydomain.com/imagesとなります。
これと同時にimages_relative_pathが指定された場合、images_relative_pathの設定は無視されます。
css
(string) CSS格納パスのURLを意味するビュー変数$_css_urlの値を設定します。 cssでCSS格納パスのURLを指定すると、$_css_urlとしてCSS格納パスのURLを末尾にスラッシュを付加せず返します。
たとえばcsshttp://mydomain.com/cssとした場合、$_css_urlhttp://mydomain.com/cssとなります。
これと同時にcss_relative_pathが指定された場合、css_relative_pathの設定は無視されます。
js
(string) Javascript格納パスのURLを意味するビュー変数$_js_urlの値を設定します。 jsでJavascript格納パスのURLを指定すると、$_js_urlとしてJavascript格納パスのURLを末尾にスラッシュを付加せず返します。
たとえばjshttp://mydomain.com/jsとした場合、$_js_urlhttp://mydomain.com/jsとなります。
これと同時にjs_relative_pathが指定された場合、js_relative_pathの設定は無視されます。
api
(string) フレームワークとは別に呼び出すAPIなどのURLを意味するビュー変数$_api_urlの値を設定します。 apiでAPIのURLを指定すると、$_api_urlとしてAPIのURLを末尾にスラッシュを付加せず返します。
たとえばapihttp://mydomain.com/apiとした場合、$_api_urlhttp://mydomain.com/apiとなります。
これと同時にapi_relative_pathが指定された場合、api_relative_pathの設定は無視されます。
images_relative_path
(string) 画像格納パスのURLを意味するビュー変数$_images_urlの値を相対パスで設定します。 images_relative_pathで画像格納パスをフロントコントローラからの相対パスで指定すると、$_images_urlとして画像格納パスのURLを末尾にスラッシュを付加せず返します。
たとえば
http://mydomain.com/
というサイトでimages_relative_pathimagesとした場合、$_images_urlhttp://mydomain.com/imagesとなります。
これと同時にimagesが指定された場合、imagesの設定が優先されます。
css_relative_path
(string) CSS格納パスのURLを意味するビュー変数$_css_urlの値を相対パスで設定します。 css_relative_pathでCSS格納パスをフロントコントローラからの相対パスで指定すると、$_css_urlとしてCSS格納パスのURLを末尾にスラッシュを付加せず返します。
たとえば
http://mydomain.com/
というサイトでcss_relative_pathcssとした場合、$_css_urlhttp://mydomain.com/cssとなります。
これと同時にcssが指定された場合、cssの設定が優先されます。
js_relative_path
(string) Javascript格納パスのURLを意味するビュー変数$_js_urlの値を相対パスで設定します。 js_relative_pathでJavascript格納パスをフロントコントローラからの相対パスで指定すると、$_js_urlとしてJavascript格納パスのURLを末尾にスラッシュを付加せず返します。
たとえば
http://mydomain.com/
というサイトでjs_relative_pathjsとした場合、$_js_urlhttp://mydomain.com/jsとなります。
これと同時にjsが指定された場合、jsの設定が優先されます。
api_relative_path
(string) フレームワークとは別に呼び出すAPIなどのURLを意味するビュー変数$_api_urlの値を相対パスで設定します。 api_relative_pathでAPIのパスをフロントコントローラからの相対パスで指定すると、$_api_urlとしてAPIのURLを末尾にスラッシュを付加せず返します。
たとえば
http://mydomain.com/
というサイトでapi_relative_pathapiとした場合、$_api_urlhttp://mydomain.com/apiとなります。
これと同時にapiが指定された場合、apiの設定が優先されます。

View.php

ビューに関する情報を設定します。

views_dir
(string) ビューファイルを設置するディレクトリ名をアプリケーション配下の相対パスで指定します。指定しない場合、「(app_root)/views」となります。
file_extension
(string) テンプレートファイルの拡張子(ドットの後;「html」「tpl」など)を設定します。指定しない場合、「html」となります。
predefined_var_enable_flag
(bool) テンプレートのビュー変数を有効にするかどうかを指定します。TRUEにするとビュー変数は利用できるのですがその分メモリを消費します。FALSEにするとビュー変数は利用できなくなり、メモリを節約できます。

前後のページ

ページトップへ