defined

定義済み定数

DOLEMではシステムを維持するための大きく分けて2通りの定数が組み込まれています。
一つはdefine.phpに定義されている定数です。
これらは「変更する必要のない定数」です。
主にDOLEMを機能させるために必要なものとなっています。がユーザがその定数を利用することも想定されています。

もう一つはconfig.phpに定義されている定数です。
こちらは個別の環境に合わせた設定が必要になってきます。
特に基本ディレクトリパス設定は真っ先に設定が必要な定数です。

define.phpに定義されている定数

ファイルのパスは
dolem/core/library/generator/kernel/define.php
となります。

アクセス制限

処理ファイル等に外部から直接アクセスさせないようにするためこの定数が存在する。
定数コメント備考
IS_INITIAL_INCLUDE 1 modelファイルやviewファイルなどのファイルの先頭行にて使われている。 変更不可

DBMS設定

データベースの種類を定義してある。
DBMSの選択でこの定数を利用する。
定数コメント備考
DB_POSTGRES 'postgres' PostgreSQL 変更不可
DB_MYSQL 'mysql' MySQL 変更不可
DB_SQLITE 'sqlite' SQLite 変更不可
DB_ORACLE 'oracle' Oracle 変更不可

ログ設定

ログが必要ない場合はconfig.phpでスイッチをOFFにする
2012/12/30現在ではログLvを指定する機能はまだ未実装。
定数コメント備考
LOG_LEVEL_ERROR 1 Lv.エラー 変更不可。未使用。
LOG_LEVEL_CAUTION 2 Lv.警告 変更不可。未使用。
LOG_LEVEL_GENERAL 3 Lv.一般 変更不可。未使用。

セッション設定

PHPのセッションに関する設定。
定数コメント備考
SESSION_RENAME 'sess_' ローカルに保存されるCookieの名前などに使われている。
SESSION_NAMEだとPHPに同名の関数(現在のセッション名を返す機能)が存在するのでこの定数名となっている。
変更する必要はない。default: 'sess_'

ファイル設定

画面出力やメールなどの文章に関する設定。
改行コードの自動取得はPHP_EOL。
定数コメント備考
LF "\n" 改行コード for Linux 変更不可
CR "\r" 改行コード for Mac 変更不可
CRLF "\r\n" 改行コード for Windows 変更不可
WWRAP 76 ワードラップの文字数
通常は1行は76~78文字(CRLFは文字数に入らない)。文中の改行コードは必ずCRLFとして現れなくてはならない。http://srgia.com/docs/rfc5322j.html#p2.1.1
default: 76

デバイス設定

ここでいうデバイスとはPC、モバイル、スマートフォンをくくる言葉。
general('device')でこれらの値が取得できる。
処理分岐、ログなどで使われている。
モバイルでもスマートフォンでもない場合は全て'pc'として扱われる。
定数コメント備考
DEVICE_PC 'pc' パソコン 変更不可
DEVICE_MOBILE 'mobile' モバイル(スマートフォンを除く) 変更不可
DEVICE_SMARTPHONE 'smartphone' スマートフォン 変更不可

キャリア設定

携帯電話(PHP含む)を取り扱っている通信事業者名。全て小文字に統一されている。
キャリア判定できないものは全て'other'として扱われる。
注意) 本システム内でキャリア名を条件とする場合は必ずここの定数を使う事。プログラム内に直に書いたら万が一定数の値を変更したときどうなっても知らん
定数コメント備考
CARRIER_DOCOMO 'docomo' docomo 変更不可
CARRIER_EZWEB 'ezweb' au by KDDI 変更不可
CARRIER_AU CARRIER_EZWEB au by KDDI 変更不可
CARRIER_SOFTBANK 'softbank' SoftBank 変更不可
CARRIER_WILLCOM 'willcom' WILLCOM 変更不可。現在未実装。
CARRIER_OTHER 'other' 上記以外の通信事業者。 変更不可


[top]

config.phpに定義されている定数

個別の環境に合わせた設定が必要です。
ファイルのパスは
dolem/core/library/config/config.php
となります。

システム名

システム毎に個別に付ける必要がある名前。
同じサーバで複数のシステムを扱った際、セッションが重複しないよう独自の名前空間を付けるのに使われている。
定数コメント備考
SYSTEM_NAME 'dolem' プロジェクトフォルダ名と一緒にするのが好ましい。英数字のみで構成すること。スペースやアンダーバー不可。 default: 'dolem'

DBMS設定

システムで使用するDBMSの種類を設定する。
DBを使わない場合はコメントアウトしておく必要がある。
定数コメント備考
DB_DBMS DB_MYSQL 値:DB_POSTGRES, DB_MYSQL, DB_SQLITE, DB_ORACLE default: DB_MYSQL

DB接続設定

DB接続設定はDBを使う場合のみ設定が必要となる。この場合、上記のDBMS設定も必要となる。
DBを使わない場合は全てコメントアウトしておく必要がある。
DB_CONN_STRは固定値なので触らずに、DB_CONN_HOSTやDB_CONN_PORTなどに設定をすること。
なおDB_CONN_STRはdb_connect()で使われている。
開発の際は開発者のIPアドレス(又は固定ドメイン)でcase文を追加すること。
これにより、それぞれの環境に応じたDBを利用することができる。
定数コメント備考
DB_CONN_HOST 'localhost' DBサーバのホスト名 or IPアドレス default: 'localhost'
DB_CONN_PORT 3306 DBポート番号。// mysql default port: 3306, postgre default port: 5432 default: '3306'
DB_CONN_USER 'root' DB接続ユーザ名 default: 'root'
DB_CONN_PASS 'pass' DB接続パスワード default: 'pass'
DB_CONN_DB 'dolem_db' DB名。SQLITEの場合はDBファイル名。 default: 'dolem_db'
DB_CONN_STR 'host='. DB_CONN_HOST. ' port='. DB_CONN_PORT. ' user='. DB_CONN_USER. ' password='. DB_CONN_PASS. ' dbname='. DB_CONN_DB 変更不可

SMTP接続設定

メールサーバ設定。
ただしSMTPを使わない場合はコメントアウトしておくこと。
定数コメント備考
SMTP_CONN_HOST 'localhost' SMTPサーバのホスト名 or IPアドレス default: 'localhost'
SMTP_CONN_PORT 25 SMTPポート番号。// smtp default port: 25(587) default: 25
SMTP_CONN_USER 'root' SMTP接続ユーザ名 default: 'root'
SMTP_CONN_PASS 'pass' SMTP接続パスワード default: 'pass'
SMTP_WAITTIME 15 ソケット接続待機時間(秒) default: 15

POP接続設定

メールサーバ設定。未実装。
ただしPOPを使わない場合はコメントアウトしておくこと。
定数コメント備考
POP_CONN_HOST 'localhost' POPサーバのホスト名 or IPアドレス default: 'localhost'
POP_CONN_PORT 110 POPポート番号。// pop default port: 110 default: 110
POP_USER 'root' POP接続ユーザ名。 default: 'root'
POP_PASS 'pass' POP接続パスワード。 default: 'pass'
POP_MAXSIXE 1024000 最大添付量サイズ/byte数(クラス内で利用)
POP_MAXTEXT 2000 最大テキスト量/半角(クラス内で利用)
POP_MAIL_DATE_FORMAT 'Y-m-d H:i:s' POPメール受信日時フォーマット(クラス内で利用)

基本 ディレクトリパス設定

システムの基本となるディレクトリパスの設定。
定数コメント備考
PUBLIC_ROOT_PATH '/var/www/html' Web公開しているディレクトリの絶対パス。URLではなくPCの内部パスであることに注意。通常ならば$_SERVER["DOCUMENT_ROOT"]の値となる。あるいは$_SERVER["SCRIPT_FILENAME"]のファイル名を除いた値。
SYSTEM_ROOT_PATH PUBLIC_ROOT_PATH' ./dolem' システムルートディレクトリが置いてある場所の絶対パス。 default: PUBLIC_ROOT_PATH. '/dolem'
HTTP_BASE_URL 'http://localhost' HTTPプロトコルでアクセスする時の基本URL。DNSでシステムルートディレクトリを指定している必要がある。 default: 'http://localhost'
HTTPS_BASE_URL 'https://localhost' HTTPSプロトコルでアクセスする時の基本URL。HTTPSを利用しない場合はHTTP_BASE_URLと同じ値でよい。 default: 'https://localhost'

内部ディレクトリパス設定

システムのディレクトリ構成。基本的に変更しない。
coreと同階層にあるフォルダはcoreを除いて全て外部からのアクセスが可能となっている。
定数コメント備考
CORE_DIR_PATH SYSTEM_ROOT_PATH. '/core' core ディレクトリパス
CONT_DIR_PATH CORE_DIR_PATH. '/control' control ディレクトリパス
LIB_DIR_PATH CORE_DIR_PATH. '/library' libary ディレクトリパス
CLASS_DIR_PATH LIB_DIR_PATH. '/class' class ディレクトリパス
CONF_DIR_PATH LIB_DIR_PATH. '/config' config ディレクトリパス
GRT_DIR_PATH LIB_DIR_PATH. '/generator' generator ディレクトリパス
KER_DIR_PATH GRT_DIR_PATH. '/kernel' kernel ディレクトリパス
BUILTIN_FUNC_DIR_PATH KER_DIR_PATH. '/builtin_function' function ディレクトリパス。DOLEMが持つ独自関数
ERR_DIR_PATH KER_DIR_PATH. '/error' error ディレクトリパス
MNG_DIR_PATH KER_DIR_PATH. '/manager' manager ディレクトリパス
REP_DIR_PATH GRT_DIR_PATH. '/repository' repository storage
DB_DIR_PATH REP_DIR_PATH. '/database' database ディレクトリパス
IMG_CACHE_DIR_PATH REP_DIR_PATH. '/image_cache' image_cache ディレクトリパス
SES_DIR_PATH REP_DIR_PATH. '/session' session ディレクトリパス
PLUG_DIR_PATH LIB_DIR_PATH. '/plugin' plugin ディレクトリパス
PLUGIN_FUNC_DIR_PATH LIB_DIR_PATH. '/plugin_function' plugin_function ディレクトリパス。開発者が追加する独自関数。
LOG_DIR_PATH CORE_DIR_PATH. '/log' logs ディレクトリパス
MODEL_DIR_PATH CORE_DIR_PATH. '/model' model ディレクトリパス
VIEW_DIR_PATH CORE_DIR_PATH. '/view' view ディレクトリパス
CRON_DIR_PATH SYSTEM_ROOT_PATH. '/cron' cron ディレクトリパス(本当はここに置きたくないのだが、アドミン管理側からHTTPアクセスする必要があった為ここに置く)
FLASH_DIR_PATH SYSTEM_ROOT_PATH. '/flash' flash ディレクトリパス
IMG_DIR_PATH SYSTEM_ROOT_PATH. '/image' image ディレクトリパス
JS_DIR_PATH SYSTEM_ROOT_PATH. '/js' js ディレクトリパス
TMP_DIR_PATH SYSTEM_ROOT_PATH. '/tmp' temp ディレクトリパス

外部公開 ディレクトリパス設定

ブラウザからアクセスするときに指定するURL。
基本的に変更しない。
定数コメント備考
HTTP_CSS_URL HTTP_BASE_URL. '/css' css ディレクトリパス
HTTP_IMG_URL HTTP_BASE_URL. '/image' image ディレクトリパス
HTTP_JS_URL HTTP_BASE_URL. '/js' js ディレクトリ
HTTP_FLASH_URL HTTP_BASE_URL. '/flash' flash ディレクトリ
HTTP_TMP_URL HTTP_BASE_URL. '/tmp' temp ディレクトリ

外部公開 SSLディレクトリパス設定

ブラウザからアクセスするときに指定するURL。
基本的に変更しない。
定数コメント備考
HTTPS_CSS_URL HTTPS_BASE_URL. '/css' css ディレクトリパス
HTTPS_IMG_URL HTTPS_BASE_URL. '/image' image ディレクトリパス
HTTPS_JS_URL HTTPS_BASE_URL. '/js' js ディレクトリパス
HTTPS_FLASH_URL HTTPS_BASE_URL. '/flash' flash ディレクトリ
HTTPS_TMP_URL HTTPS_BASE_URL. '/tmp' temp ディレクトリパス

ログ設定

システムではloglog()によってシステムログが残されている。
この関数を任意の場所に書くことでプロセスをトレースすることができる。
ログが必要ない場合はログスイッチをOFFにすること。
定数コメント備考
LOG_SWITCH 1 ログ記録スイッチ。0:off, 1:on default: 1
LOG_FILE_PATH LOG_DIR_PATH. '/system.log' log ファイルパス default: LOG_DIR_PATH. '/system.log'
LOG_MAX_LEN 100*1024 ログファイルの最大サイズ(単位:Byte)。1*1024*1024で1MiB。あまり大きな値にすると動作がもっさりするので注意。 default: 1*1024*1024

エラーログ設定

エラーログが必要ない場合はスイッチをOFFにすること
定数コメント備考
ERR_LOG_SWITCH 0 エラーログ記録スイッチ。0:off, 1:on default: 0
ERR_LOG_FILE_PATH LOG_DIR_PATH. '/error.log' error.log ファイルパス default: LOG_DIR_PATH. '/error.log'
ERR_LOG_MAX_LEN 1*1024*1024 エラーログファイルの最大サイズ(単位:Byte)。 default: 1*1024*1024

セッション設定

PHPセッションに関する設定。
よくわからない場合は触らないこと。
定数コメント備考
SESSION_SAVE_DIR_PATH SES_DIR_PATH SESSION 保存ディレクトリパス。SES_DIR_PATH or ini_get('session.save_path') default: SES_DIR_PATH
COOKIECLASS_DUMMY_SWITCH true COOKIEクラス利用時にクッキーに保存せずSESSIONクラスに保存する。未実装。 default: true;
SESSION_CACHE_EXPIRE_TIME 1*60*24 SESSION ページキャッシュ有効期限(単位:分)。
クライアント側でのページのキャッシュ期間
1*60*24で1day
default: 1*60*24
SESSION_SET_COOKIE_EXPIRE_TIME 6*31*60*60*24 セッションクッキーの有効時間(単位:秒)
クライアント側のクッキー保持期間
1*60*60*24で1day。0だとブラウザを閉じるまで。
default: 1*60*60*24
SESSION_LIFETIME 2*60*60 SESSION 有効時間(単位:秒)
システムを一定時間操作をしなかった場合に利用される
1*60*60で1h
default: 1*60*60
SESSION_GC_MAXLIFETIME 6*31*60*60*24 SESSION 有効期限(単位:秒)
サーバー側で使用する有効期限
注)SESSION_LIFETIMEよりも短いことがあってはならない
6*31*60*60*24で半年
default: 6*31*60*60*24

ファイル設定

基本的に変更しない。
定数コメント備考
HTTP_OUTPUT_CHAR_PC 'UTF-8' HTTP OUTPUT 文字コード PC。meta, formに使用 default: 'UTF-8'
HTTP_OUTPUT_CHAR_MOBILE 'Shift_JIS' HTTP OUTPUT 文字コード Mobile。meta, formに使用 default: 'Shift_JIS'
HTTP_OUTPUT_CHAR_SMARTPHONE 'UTF-8' HTTP OUTPUT 文字コード Smartphone。meta, formに使用 default: 'UTF-8'
ENC_SJIS 'SJIS-win' PHPのmb_convert_encoding()に利用する。この定数は備忘録的なものなので使っても使わなくてもおk。 default: SJIS-win
ENC_EUCJP 'eucJP-win' default: eucJP-win
ENC_UTF8 'UTF-8' default: UTF-8


[top]