本文整理汇总了PHP中Configure::constant方法的典型用法代码示例。如果您正苦于以下问题:PHP Configure::constant方法的具体用法?PHP Configure::constant怎么用?PHP Configure::constant使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Configure
的用法示例。
在下文中一共展示了Configure::constant方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _init
protected function _init()
{
if (FALSE === $this->_initialized) {
$baseArn = NULL;
$apiKey = NULL;
$apiSecret = NULL;
$region = NULL;
if (class_exists('Configure') && NULL !== Configure::constant('AWS_SNS_ARN_BASE')) {
$baseArn = Configure::AWS_SNS_ARN_BASE;
}
if (class_exists('Configure') && NULL !== Configure::constant('AWS_KEY')) {
$apiKey = Configure::AWS_KEY;
}
if (class_exists('Configure') && NULL !== Configure::constant('AWS_SNS_API_KEY')) {
$apiKey = Configure::AWS_SNS_API_KEY;
}
if (class_exists('Configure') && NULL !== Configure::constant('AWS_SECRET')) {
$apiSecret = Configure::AWS_SECRET;
}
if (class_exists('Configure') && NULL !== Configure::constant('AWS_SNS_API_SECRET')) {
$apiSecret = Configure::AWS_SNS_API_SECRET;
}
if (class_exists('Configure') && NULL !== Configure::constant('AWS_REGION')) {
$region = Configure::AWS_REGION;
}
if (class_exists('Configure') && NULL !== Configure::constant('AWS_SNS_REGION')) {
$region = Configure::AWS_SNS_REGION;
} elseif (defined('PROJECT_NAME') && strlen(PROJECT_NAME) > 0 && class_exists(PROJECT_NAME . 'Configure')) {
$ProjectConfigure = PROJECT_NAME . 'Configure';
if (NULL !== $ProjectConfigure::constant('AWS_SNS_ARN_BASE')) {
$baseArn = $ProjectConfigure::AWS_SNS_ARN_BASE;
}
if (NULL !== $ProjectConfigure::constant('AWS_KEY')) {
$apiKey = $ProjectConfigure::AWS_KEY;
}
if (NULL !== $ProjectConfigure::constant('AWS_SNS_API_KEY')) {
$apiKey = $ProjectConfigure::AWS_SNS_API_KEY;
}
if (NULL !== $ProjectConfigure::constant('AWS_SECRET')) {
$apiSecret = $ProjectConfigure::AWS_SECRET;
}
if (NULL !== $ProjectConfigure::constant('AWS_SNS_API_SECRET')) {
$apiSecret = $ProjectConfigure::AWS_SNS_API_SECRET;
}
if (NULL !== $ProjectConfigure::constant('AWS_REGION')) {
$region = $ProjectConfigure::AWS_REGION;
}
if (NULL !== $ProjectConfigure::constant('AWS_SNS_REGION')) {
$region = $ProjectConfigure::AWS_SNS_REGION;
}
}
$arns = explode('://', $baseArn);
$this->_arnBase = 'arn:aws:sns:' . $arns[0] . ':app/%target_pratform%/' . $arns[1];
$this->_initialized = TRUE;
if (NULL === $this->_AWS) {
$this->_AWS = Aws::factory(array('key' => $apiKey, 'secret' => $apiSecret, 'region' => Region::TOKYO))->get('sns');
}
}
}
示例2: _clearCacheImage
/**
*/
protected static function _clearCacheImage($argFilePath, $argMemcacheDSN = NULL)
{
$DSN = NULL;
if (NULL === $argMemcacheDSN && class_exists('Configure') && NULL !== Configure::constant('MEMCACHE_DSN')) {
$DSN = Configure::MEMCACHE_DSN;
} else {
$DSN = $argMemcacheDSN;
}
if (NULL !== $DSN && class_exists('Memcache', FALSE)) {
try {
Memcached::start($DSN);
@Memcached::delete($argFilePath);
} catch (Exception $Exception) {
logging(__CLASS__ . PATH_SEPARATOR . __METHOD__ . PATH_SEPARATOR . __LINE__ . PATH_SEPARATOR . $Exception->getMessage(), 'exception');
}
}
return true;
}
示例3: execute
public function execute($argRequestParams = NULL)
{
$allow = TRUE;
$denyHTTP = FALSE;
$denyALLIP = FALSE;
if (class_exists('Configure') && NULL !== Configure::constant('DENY_HTTP')) {
$denyHTTP = Configure::DENY_HTTP;
}
if (class_exists('Configure') && NULL !== Configure::constant('DENY_ALL_IP')) {
$denyALLIP = Configure::DENY_ALL_IP;
}
if (defined('PROJECT_NAME') && strlen(PROJECT_NAME) > 0 && class_exists(PROJECT_NAME . 'Configure')) {
$ProjectConfigure = PROJECT_NAME . 'Configure';
if (NULL !== $ProjectConfigure::constant('DENY_HTTP')) {
$denyHTTP = $ProjectConfigure::DENY_HTTP;
}
if (NULL !== $ProjectConfigure::constant('DENY_ALL_IP')) {
$denyALLIP = $ProjectConfigure::DENY_ALL_IP;
}
}
// SSLチェック
if (FALSE !== $denyHTTP && 0 !== $denyHTTP && "0" !== $denyHTTP) {
if (!(isset($_SERVER['HTTPS']) && 'on' === $_SERVER['HTTPS'])) {
$allow = FALSE;
}
}
// IPアドレスチェック
if (FALSE !== $denyALLIP && 0 !== $denyALLIP && "0" !== $denyALLIP) {
// ローカルIPでは無い
// XXX ネットマスクで許可設定をしたい場合はこの辺りを拡張する
if ('::1' !== $_SERVER['REMOTE_ADDR'] && FALSE === strpos($denyALLIP, $_SERVER['REMOTE_ADDR'])) {
$allow = FALSE;
}
}
debug('allow=' . $allow);
return $allow;
}
示例4: _init
protected static function _init($argDSN = NULL)
{
if (FALSE === self::$_initialized) {
$DSN = NULL;
if (class_exists('Configure') && NULL !== Configure::constant('DB_DSN')) {
// 定義からセッションDBの接続情報を特定
$DSN = Configure::DB_DSN;
}
if (class_exists('Configure') && NULL !== Configure::constant('AUTH_DB_DSN')) {
// 定義からセッションDBの接続情報を特定
$DSN = Configure::AUTH_DB_DSN;
}
if (class_exists('Configure') && NULL !== Configure::constant('AUTH_TBL_NAME')) {
// 定義からuserTable名を特定
self::$authTable = Configure::AUTH_TBL_NAME;
}
if (class_exists('Configure') && NULL !== Configure::constant('AUTH_PKEY_FIELD_NAME')) {
// 定義からuserTable名を特定
self::$authPKeyField = Configure::AUTH_PKEY_FIELD_NAME;
}
if (class_exists('Configure') && NULL !== Configure::constant('AUTH_ID_FIELD_NAME')) {
// 定義からuserTable名を特定
self::$authIDField = Configure::AUTH_ID_FIELD_NAME;
}
if (class_exists('Configure') && NULL !== Configure::constant('AUTH_PASS_FIELD_NAME')) {
// 定義からuserTable名を特定
self::$authPassField = Configure::AUTH_PASS_FIELD_NAME;
}
if (class_exists('Configure') && NULL !== Configure::constant('AUTH_CREATE_DATE_KEY_NAME')) {
// 定義からuserTable名を特定
self::$authCreatedField = Configure::AUTH_CREATE_DATE_KEY_NAME;
}
if (class_exists('Configure') && NULL !== Configure::constant('AUTH_MODIFY_DATE_KEY_NAME')) {
// 定義からuserTable名を特定
self::$authModifiedField = Configure::AUTH_MODIFY_DATE_KEY_NAME;
}
if (class_exists('Configure') && NULL !== Configure::constant('AUTH_ID_ENCRYPTED')) {
// 定義からuserTable名を特定
self::$authIDEncrypted = Configure::AUTH_ID_ENCRYPTED;
}
if (class_exists('Configure') && NULL !== Configure::constant('AUTH_PASS_ENCRYPTED')) {
// 定義からuserTable名を特定
self::$authPassEncrypted = Configure::AUTH_PASS_ENCRYPTED;
}
if (class_exists('Configure') && NULL !== Configure::constant('CRYPT_KEY')) {
// 定義から暗号化キーを設定
self::$_sessionCryptKey = Configure::CRYPT_KEY;
self::$_authCryptKey = Configure::CRYPT_KEY;
}
if (class_exists('Configure') && NULL !== Configure::constant('NETWORK_CRYPT_KEY')) {
// 定義から暗号化キーを設定
self::$_sessionCryptKey = Configure::NETWORK_CRYPT_KEY;
}
if (class_exists('Configure') && NULL !== Configure::constant('SESSION_CRYPT_KEY')) {
// 定義から暗号化キーを設定
self::$_sessionCryptKey = Configure::SESSION_CRYPT_KEY;
}
if (class_exists('Configure') && NULL !== Configure::constant('DB_CRYPT_KEY')) {
// 定義から暗号化キーを設定
self::$_authCryptKey = Configure::DB_CRYPT_KEY;
}
if (class_exists('Configure') && NULL !== Configure::constant('AUTH_CRYPT_KEY')) {
// 定義から暗号化キーを設定
self::$_authCryptKey = Configure::AUTH_CRYPT_KEY;
}
if (class_exists('Configure') && NULL !== Configure::constant('CRYPT_IV')) {
// 定義から暗号化IVを設定
self::$_sessionCryptIV = Configure::CRYPT_IV;
self::$_authCryptIV = Configure::CRYPT_KEY;
}
if (class_exists('Configure') && NULL !== Configure::constant('NETWORK_CRYPT_IV')) {
// 定義から暗号化IVを設定
self::$_sessionCryptIV = Configure::NETWORK_CRYPT_IV;
}
if (class_exists('Configure') && NULL !== Configure::constant('SESSION_CRYPT_IV')) {
// 定義から暗号化IVを設定
self::$_sessionCryptIV = Configure::SESSION_CRYPT_IV;
}
if (class_exists('Configure') && NULL !== Configure::constant('DB_CRYPT_IV')) {
// 定義から暗号化キーを設定
self::$_authCryptKIV = Configure::DB_CRYPT_IV;
}
if (class_exists('Configure') && NULL !== Configure::constant('AUTH_CRYPT_IV')) {
// 定義から暗号化キーを設定
self::$_authCryptIV = Configure::AUTH_CRYPT_IV;
}
if (defined('PROJECT_NAME') && strlen(PROJECT_NAME) > 0 && class_exists(PROJECT_NAME . 'Configure')) {
$ProjectConfigure = PROJECT_NAME . 'Configure';
if (NULL !== $ProjectConfigure::constant('DB_DSN')) {
// 定義からセッションDBの接続情報を特定
$DSN = $ProjectConfigure::DB_DSN;
}
if (NULL !== $ProjectConfigure::constant('AUTH_DB_DSN')) {
// 定義からセッションDBの接続情報を特定
$DSN = $ProjectConfigure::AUTH_DB_DSN;
}
if (NULL !== $ProjectConfigure::constant('AUTH_TBL_NAME')) {
// 定義からuserTable名を特定
self::$authTable = $ProjectConfigure::AUTH_TBL_NAME;
}
//.........这里部分代码省略.........
示例5: _init
/**
* Sessionクラスの初期化
* @param string セッションの範囲となるドメイン
* @param string セッションの有効期限
* @param string DBDSN情報
*/
protected static function _init($argDomain = NULL, $argExpiredtime = NULL, $argDSN = NULL)
{
if (FALSE === self::$_initialized) {
// セッションの有効ドメインを設定
self::$_domain = $argDomain;
if (NULL === $argDomain) {
self::$_domain = $_SERVER['SERVER_NAME'];
}
$DSN = NULL;
$expiredtime = self::$_expiredtime;
if (class_exists('Configure') && NULL !== Configure::constant('DB_DSN')) {
// 定義からセッションDBの接続情報を特定
$DSN = Configure::DB_DSN;
}
if (class_exists('Configure') && NULL !== Configure::constant('SESSION_DB_DSN')) {
// 定義からセッションDBの接続情報を特定
$DSN = Configure::SESSION_DB_DSN;
}
if (class_exists('Configure') && NULL !== Configure::constant('SESSION_EXPIRED_TIME')) {
// 定義からセッションの有効期限を設定
$expiredtime = Configure::SESSION_EXPIRED_TIME;
}
if (class_exists('Configure') && NULL !== Configure::constant('SESSION_TBL_NAME')) {
// 定義からセッションテーブル名を特定
self::$_sessionTblName = Configure::SESSION_TBL_NAME;
}
if (class_exists('Configure') && NULL !== Configure::constant('SESSION_TBL_PKEY_NAME')) {
// 定義からセッションテーブルのPKey名を特定
self::$_sessionPKeyName = Configure::SESSION_TBL_PKEY_NAME;
}
if (class_exists('Configure') && NULL !== Configure::constant('SESSION_DATE_KEY_NAME')) {
// 定義から日時フィールド名を特定
self::$_sessionDateKeyName = Configure::SESSION_DATE_KEY_NAME;
}
if (class_exists('Configure') && NULL !== Configure::constant('CRYPT_KEY')) {
// 定義から暗号化キーを設定
self::$_cryptKey = Configure::CRYPT_KEY;
}
if (class_exists('Configure') && NULL !== Configure::constant('NETWORK_CRYPT_KEY')) {
// 定義から暗号化キーを設定
self::$_cryptKey = Configure::NETWORK_CRYPT_KEY;
}
if (class_exists('Configure') && NULL !== Configure::constant('SESSION_CRYPT_KEY')) {
// 定義から暗号化キーを設定
self::$_cryptKey = Configure::SESSION_CRYPT_KEY;
}
if (class_exists('Configure') && NULL !== Configure::constant('CRYPT_IV')) {
// 定義から暗号化IVを設定
self::$_cryptIV = Configure::CRYPT_IV;
}
if (class_exists('Configure') && NULL !== Configure::constant('NETWORK_CRYPT_IV')) {
// 定義から暗号化IVを設定
self::$_cryptIV = Configure::NETWORK_CRYPT_IV;
}
if (class_exists('Configure') && NULL !== Configure::constant('SESSION_CRYPT_IV')) {
// 定義から暗号化IVを設定
self::$_cryptIV = Configure::SESSION_CRYPT_IV;
}
if (defined('PROJECT_NAME') && strlen(PROJECT_NAME) > 0 && class_exists(PROJECT_NAME . 'Configure')) {
$ProjectConfigure = PROJECT_NAME . 'Configure';
if (NULL !== $ProjectConfigure::constant('DB_DSN')) {
// 定義からセッションDBの接続情報を特定
$DSN = $ProjectConfigure::DB_DSN;
}
if (NULL !== $ProjectConfigure::constant('SESSION_DB_DSN')) {
// 定義からセッションDBの接続情報を特定
$DSN = $ProjectConfigure::SESSION_DB_DSN;
}
if (NULL !== $ProjectConfigure::constant('SESSION_EXPIRED_TIME')) {
// 定義からセッションの有効期限を設定
$expiredtime = $ProjectConfigure::SESSION_EXPIRED_TIME;
}
if (NULL !== $ProjectConfigure::constant('SESSION_TBL_NAME')) {
// 定義からセッションテーブル名を特定
self::$_sessionTblName = $ProjectConfigure::SESSION_TBL_NAME;
}
if (NULL !== $ProjectConfigure::constant('SESSION_TBL_PKEY_NAME')) {
// 定義からセッションテーブルのPKey名を特定
self::$_sessionPKeyName = $ProjectConfigure::SESSION_TBL_PKEY_NAME;
}
if (NULL !== $ProjectConfigure::constant('SESSION_DATE_KEY_NAME')) {
// 定義から日時フィールド名を特定
self::$_sessionDateKeyName = $ProjectConfigure::SESSION_DATE_KEY_NAME;
}
if (NULL !== $ProjectConfigure::constant('CRYPT_KEY')) {
// 定義から暗号化キーを設定
self::$_cryptKey = $ProjectConfigure::CRYPT_KEY;
}
if (NULL !== $ProjectConfigure::constant('NETWORK_CRYPT_KEY')) {
// 定義から暗号化キーを設定
self::$_cryptKey = $ProjectConfigure::NETWORK_CRYPT_KEY;
}
if (NULL !== $ProjectConfigure::constant('SESSION_CRYPT_KEY')) {
// 定義から暗号化キーを設定
//.........这里部分代码省略.........
示例6: UIDAuthAndExecute
/**
* フレームワーク標準のAuth機能を利用した認証と登録を行って、RESTする(スマフォAPI向け)
* @return array 配列構造のリソースデータ
*/
public function UIDAuthAndExecute()
{
$this->_init();
// UIDAuthREST用変数初期化
$DBO = NULL;
$User = FALSE;
$userModelName = NULL;
$UserModelCreatedFieldName = NULL;
$UserModelModifiedFieldName = NULL;
$deviceTypeFieldName = NULL;
if (class_exists('Configure') && NULL !== Configure::constant('REST_UIDAUTH_USER_TBL_NAME')) {
$userModelName = Configure::REST_UIDAUTH_USER_TBL_NAME;
}
if (class_exists('Configure') && NULL !== Configure::constant('REST_UIDAUTH_USER_CREATE_DATE_KEY_NAME')) {
$UserModelCreatedFieldName = Configure::REST_UIDAUTH_USER_CREATE_DATE_KEY_NAME;
}
if (class_exists('Configure') && NULL !== Configure::constant('REST_UIDAUTH_USER_MODIFY_DATE_KEY_NAME')) {
$UserModelModifiedFieldName = Configure::REST_UIDAUTH_USER_MODIFY_DATE_KEY_NAME;
}
if (class_exists('Configure') && NULL !== Configure::constant('REST_UIDAUTH_DEVICE_TYPE_FIELD_NAME')) {
$deviceTypeFieldName = Configure::REST_UIDAUTH_DEVICE_TYPE_FIELD_NAME;
}
if (defined('PROJECT_NAME') && strlen(PROJECT_NAME) > 0 && class_exists(PROJECT_NAME . 'Configure')) {
$ProjectConfigure = PROJECT_NAME . 'Configure';
if (NULL !== $ProjectConfigure::constant('REST_UIDAUTH_USER_TBL_NAME')) {
$userModelName = $ProjectConfigure::REST_UIDAUTH_USER_TBL_NAME;
}
if (NULL !== $ProjectConfigure::constant('REST_UIDAUTH_USER_CREATE_DATE_KEY_NAME')) {
$UserModelCreatedFieldName = $ProjectConfigure::REST_UIDAUTH_USER_CREATE_DATE_KEY_NAME;
}
if (NULL !== $ProjectConfigure::constant('REST_UIDAUTH_USER_MODIFY_DATE_KEY_NAME')) {
$UserModelModifiedFieldName = $ProjectConfigure::REST_UIDAUTH_USER_MODIFY_DATE_KEY_NAME;
}
if (NULL !== $ProjectConfigure::constant('REST_UIDAUTH_DEVICE_TYPE_FIELD_NAME')) {
$deviceTypeFieldName = $ProjectConfigure::REST_UIDAUTH_DEVICE_TYPE_FIELD_NAME;
}
}
try {
$gmtDate = Utilities::date('Y-m-d H:i:s', NULL, NULL, 'GMT');
$DBO = self::_getDBO();
// UIDAuth
$Device = Auth::getCertifiedUser();
if (FALSE === $Device) {
// 登録処理
// SessionID=端末固有IDと言う決めに沿って登録を行う
$deviceID = Auth::getDecryptedAuthIdentifier();
debug('$deviceID=' . $deviceID);
if (30 >= strlen($deviceID)) {
// UIDエラー! 認証エラー
throw new RESTException(__CLASS__ . PATH_SEPARATOR . __METHOD__ . PATH_SEPARATOR . __LINE__, 401);
}
$Device = Auth::registration($deviceID, $deviceID);
// 強制認証で証明を得る
if (TRUE !== Auth::certify($Device->{Auth::$authIDField}, $Device->{Auth::$authPassField}, NULL, TRUE)) {
// 認証NG(401)
throw new RESTException(__CLASS__ . PATH_SEPARATOR . __METHOD__ . PATH_SEPARATOR . __LINE__, 401);
}
// user情報の更新
$userAdded = FALSE;
$deviceModified = FALSE;
if (NULL !== $userModelName && $userModelName != $Device->tableName) {
$ownerIDField = $userModelName . '_id';
if (isset($Device->{$this->authUserIDFieldName})) {
$ownerIDField = $this->authUserIDFieldName;
}
if (!(0 < strlen($Device->{$ownerIDField}) && '0' != $Device->{$ownerIDField})) {
// userテーブルとdeviceテーブルのテーブル名が違うので、userテーブルの保存を行う
$User = self::_getModel($userModelName);
if (NULL !== $UserModelCreatedFieldName && in_array($UserModelCreatedFieldName, $User->getFieldKeys())) {
$User->{'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', $UserModelCreatedFieldName)))}($gmtDate);
}
if (NULL !== $UserModelModifiedFieldName && in_array($UserModelModifiedFieldName, $User->getFieldKeys())) {
$User->{'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', $UserModelModifiedFieldName)))}($gmtDate);
}
$User->save();
// deviceテーブルにユーザーIDのセット(強制)
$Device->{'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', $ownerIDField)))}($User->pkey);
$deviceModified = TRUE;
$userAdded = TRUE;
} else {
$User = self::_getModel($userModelName, $Device->{$ownerIDField});
if (!(0 < (int) $User->pkey)) {
// デバイスの持ち主が変わった可能性
$gmtDate = Utilities::date('Y-m-d H:i:s', NULL, NULL, 'GMT');
// userテーブルとdeviceテーブルのテーブル名が違うので、userテーブルの保存を行う
if (NULL !== $UserModelCreatedFieldName && in_array($UserModelCreatedFieldName, $User->getFieldKeys())) {
$User->{'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', $UserModelCreatedFieldName)))}($gmtDate);
}
if (NULL !== $UserModelModifiedFieldName && in_array($UserModelModifiedFieldName, $User->getFieldKeys())) {
$User->{'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', $UserModelModifiedFieldName)))}($gmtDate);
}
$User->save();
// deviceテーブルにユーザーIDのセット(強制)
$Device->{'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', $ownerIDField)))}($User->pkey);
$deviceModified = TRUE;
$userAdded = TRUE;
//.........这里部分代码省略.........
示例7: getConfig
/**
* コンフィグレーションされている値を返す
*/
function getConfig($argKey, $argConfigName = '')
{
static $values = array();
$value = NULL;
if (!isset($values[$argConfigName])) {
$values[$argConfigName] = array();
}
if (!isset($values[$argConfigName][$argKey])) {
if (class_exists('Configure') && TRUE === defined('Configure::' . $argKey)) {
// 定義から暗号化キーを設定
$value = Configure::constant($argKey);
}
if (defined('PROJECT_NAME') && strlen(PROJECT_NAME) > 0 && class_exists(PROJECT_NAME . 'Configure')) {
$ProjectConfigure = PROJECT_NAME . 'Configure';
if (TRUE === defined($ProjectConfigure . '::' . $argKey)) {
// 定義からセッションDBの接続情報を特定
$value = $ProjectConfigure::constant($argKey);
}
}
if (!class_exists($argConfigName . 'Configure') && !class_exists($argConfigName) && !class_exists(str_replace('Package', '', $argConfigName))) {
loadConfigForConfigName($argConfigName);
}
if ('' !== $argConfigName && strlen($argConfigName) > 0 && class_exists($argConfigName . 'Configure')) {
$ArgConfigure = $argConfigName . 'Configure';
if (TRUE === defined($ArgConfigure . '::' . $argKey)) {
// 定義からセッションDBの接続情報を特定
$value = $ArgConfigure::constant($argKey);
}
}
if ('' !== $argConfigName && strlen($argConfigName) > 0 && class_exists($argConfigName)) {
$ArgConfigure = $argConfigName;
if (TRUE === defined($ArgConfigure . '::' . $argKey)) {
// 定義からセッションDBの接続情報を特定
$value = $ArgConfigure::constant($argKey);
}
}
$argConfigName = str_replace('Package', '', $argConfigName);
if ('' !== $argConfigName && strlen($argConfigName) > 0 && class_exists($argConfigName . 'Configure')) {
$ArgConfigure = $argConfigName . 'Configure';
if (TRUE === defined($ArgConfigure . '::' . $argKey)) {
// 定義からセッションDBの接続情報を特定
$value = $ArgConfigure::constant($argKey);
}
}
if ('' !== $argConfigName && strlen($argConfigName) > 0 && class_exists($argConfigName)) {
$ArgConfigure = $argConfigName;
if (TRUE === defined($ArgConfigure . '::' . $argKey)) {
// 定義からセッションDBの接続情報を特定
$value = $ArgConfigure::constant($argKey);
}
}
$values[$argConfigName][$argKey] = $value;
} else {
$value = $values[$argConfigName][$argKey];
}
return $value;
}
示例8: loadMVCModule
/**
* MVCクラスモジュールの読み込み処理
* @param string クラス名
* @param string クラスの読み込事にエラーが在る場合にbooleanを返すかどうか
* @param string クラスの読み込事にエラーが在る場合にbooleanを返すかどうか
* @return mixed 成功時は対象のクラス名 失敗した場合はFALSEを返す
*/
public static function loadMVCModule($argClassName = NULL, $argClassExistsCalled = FALSE, $argTargetPath = '')
{
static $currentTargetPath = '';
$targetPath = '';
if (NULL !== $argClassName) {
$controlerClassName = $argClassName;
} else {
// コントロール対象を自動特定
$controlerClassName = 'Index';
if (isset($_GET['_c_']) && strlen($_GET['_c_']) > 0) {
$controlerClassName = str_replace('-', '_', ucfirst($_GET['_c_']));
if (FALSE !== strpos($_GET['_c_'], '/') && strlen($_GET['_c_']) > 1) {
$matches = NULL;
if (preg_match('/(.*)\\/([^\\/]*)$/', $_GET['_c_'], $matches) && is_array($matches) && isset($matches[2])) {
$controlerClassName = str_replace('-', '_', ucfirst($matches[2]));
if (isset($matches[1]) && strlen($matches[1]) > 0) {
$targetPath = $matches[1] . '/';
if ('' === $currentTargetPath) {
$currentTargetPath = $targetPath;
}
}
}
}
}
}
if ('' !== $argTargetPath) {
$targetPath = $argTargetPath;
}
if ('' === $targetPath) {
$targetPath = $currentTargetPath;
}
$version = '';
if (isset($_GET['_v_']) && strlen($_GET['_v_']) > 0) {
$version = $_GET['_v_'];
}
debug('path=' . $targetPath);
debug('class=' . $controlerClassName);
if (!class_exists($controlerClassName, FALSE)) {
// コントローラを読み込み
if ('' !== $version) {
// バージョン一致のファイルを先ず走査する
loadModule('default.controlmain.' . $targetPath . $version . '/' . $controlerClassName, TRUE);
}
if (!class_exists($controlerClassName, FALSE)) {
loadModule('default.controlmain.' . $targetPath . $controlerClassName, TRUE);
}
if (!class_exists($controlerClassName, FALSE)) {
loadModule('default.controlmain.' . $controlerClassName, TRUE);
}
if (class_exists($controlerClassName, FALSE)) {
// FlowGenerateする必要がなさそうなのでココで終了
return $controlerClassName;
} else {
if ('' === self::$flowXMLBasePath) {
// エラー終了
return FALSE;
} else {
// ココからはFlow処理
if (TRUE === self::$flowXMLBasePath) {
// self::$flowXMLBasePathがTRUEとなっていた場合はConfigureにFLOWXML_PATH定義が無いか調べる
if (class_exists('Configure', FALSE) && NULL !== Configure::constant('FLOWXML_PATH')) {
self::$flowXMLBasePath = Configure::FLOWXML_PATH;
}
}
// Flow出来ない!
if ('' === self::$flowXMLBasePath) {
// エラー終了
return FALSE;
}
// XML定義の存在チェック
// クラス名は分解しておく
$classHint = explode('_', $controlerClassName);
debug($targetPath);
debug($classHint);
$classXMLName = $classHint[0];
debug($classXMLName);
$flowXMLPath = '';
if ('' !== $version) {
// バージョン一致のファイルを先ず走査する
if (file_exists_ip(self::$flowXMLBasePath . '/' . $targetPath . $version . '/' . $classXMLName . '.flow.xml')) {
$flowXMLPath = self::$flowXMLBasePath . '/' . $targetPath . $version . '/' . $classXMLName . '.flow.xml';
}
}
if ('' === $flowXMLPath) {
// バージョン関係ナシのファイルを走査する
if (file_exists_ip(self::$flowXMLBasePath . '/' . $targetPath . $classXMLName . '.flow.xml')) {
$flowXMLPath = self::$flowXMLBasePath . '/' . $targetPath . $classXMLName . '.flow.xml';
}
}
debug($flowXMLPath);
if ('' === $flowXMLPath) {
// エラー終了
return FALSE;
//.........这里部分代码省略.........
示例9: _init
/**
* Sessionクラスの初期化
* @param string セッションの有効期限
* @param string DBDSN情報
*/
protected static function _init($argExpiredtime = NULL, $argDSN = NULL)
{
if (FALSE === self::$_initialized) {
$DSN = NULL;
$expiredtime = self::$_expiredtime;
if (class_exists('Configure') && NULL !== Configure::constant('DB_DSN')) {
// 定義からセッションDBの接続情報を特定
$DSN = Configure::DB_DSN;
}
if (class_exists('Configure') && NULL !== Configure::constant('SESSION_DB_DSN')) {
// 定義からセッションDBの接続情報を特定
$DSN = Configure::DB_DSN;
}
if (class_exists('Configure') && NULL !== Configure::constant('SESSION_EXPIRED_TIME')) {
// 定義からセッションの有効期限を設定
$expiredtime = Configure::SESSION_EXPIRED_TIME;
}
if (class_exists('Configure') && NULL !== Configure::constant('SESSION_DATA_TBL_NAME')) {
// 定義からセッションデータテーブル名を特定
self::$_sessionDataTblName = $ProjectConfigure::SESSION_DATA_TBL_NAME;
}
if (class_exists('Configure') && NULL !== Configure::constant('SESSION_DATA_TBL_PKEY_NAME')) {
// 定義からセッションデータテーブルのPKey名を特定
self::$_sessionDataPKeyName = Configure::SESSION_DATA_TBL_PKEY_NAME;
}
if (class_exists('Configure') && NULL !== Configure::constant('SERIALIZE_KEY_NAME')) {
// 定義からシリアライズデータのフィールド名を特定
self::$_serializeKeyName = Configure::SERIALIZE_KEY_NAME;
}
if (class_exists('Configure') && NULL !== Configure::constant('SESSION_DATA_DATE_KEY_NAME')) {
// 定義から日時フィールド名を特定
self::$_sessionDataDateKeyName = Configure::SESSION_DATA_DATE_KEY_NAME;
}
if (defined('PROJECT_NAME') && strlen(PROJECT_NAME) > 0 && class_exists(PROJECT_NAME . 'Configure')) {
$ProjectConfigure = PROJECT_NAME . 'Configure';
if (NULL !== $ProjectConfigure::constant('DB_DSN')) {
// 定義からセッションDBの接続情報を特定
$DSN = $ProjectConfigure::DB_DSN;
}
if (NULL !== $ProjectConfigure::constant('SESSION_DB_DSN')) {
// 定義からセッションDBの接続情報を特定
$DSN = $ProjectConfigure::SESSION_DB_DSN;
}
if (NULL !== $ProjectConfigure::constant('SESSION_EXPIRED_TIME')) {
// 定義からセッションの有効期限を設定
$expiredtime = $ProjectConfigure::SESSION_EXPIRED_TIME;
}
if (NULL !== $ProjectConfigure::constant('SESSION_DATA_TBL_NAME')) {
// 定義からセッションデータテーブル名を特定
self::$_sessionDataTblName = $ProjectConfigure::SESSION_DATA_TBL_NAME;
}
if (NULL !== $ProjectConfigure::constant('SESSION_DATA_TBL_PKEY_NAME')) {
// 定義からセッションデータテーブルのPKey名を特定
self::$_sessionDataPKeyName = $ProjectConfigure::SESSION_DATA_TBL_PKEY_NAME;
}
if (NULL !== $ProjectConfigure::constant('SERIALIZE_KEY_NAME')) {
// 定義からuserTable名を特定
self::$_serializeKeyName = $ProjectConfigure::SERIALIZE_KEY_NAME;
}
if (NULL !== $ProjectConfigure::constant('SESSION_DATA_DATE_KEY_NAME')) {
// 定義から日時フィールド名を特定
self::$_sessionDataDateKeyName = $ProjectConfigure::SESSION_DATA_DATE_KEY_NAME;
}
}
// DBOを初期化
if (NULL === self::$_DBO) {
if (NULL !== $argDSN) {
// セッションDBの接続情報を直指定
$DSN = $argDSN;
}
self::$_DBO = DBO::sharedInstance($DSN);
}
// セッションの有効期限を設定
if (NULL !== $argExpiredtime) {
// セッションの有効期限を直指定
$expiredtime = $argExpiredtime;
}
self::$_expiredtime = $expiredtime;
// 初期化済み
self::$_initialized = TRUE;
}
}
示例10: _initDB
/**
* 該当get_called_classのDBインスタンスの初期化
*/
private function _initDB()
{
$dsn = NULL;
if (TRUE === @property_exists($this, "DSN") && isset($this->DSN) && NULL !== $this->DSN && strlen($this->DSN) > 0) {
// 与えられたDSN情報を使用する
$dsn = $this->DSN;
$calledClassName = "default";
if (TRUE === @property_exists($this, "dbidentifykey")) {
$this->dbidentifykey = $calledClassName;
}
} else {
// フレームワークの機能を使ったDSNの自動解決処理
// 継承元クラス名を取得(静的クラス名を取るためにget_called_classを使用する)
$calledClassName = @get_called_class();
if (0 == strlen($calledClassName)) {
// もしもの時の為
$calledClassName = "default";
}
// 継承元クラス名に応じたDSN定義を取得
$ProjectConfigure = NULL;
if (defined('PROJECT_NAME') && strlen(PROJECT_NAME) > 0 && class_exists(PROJECT_NAME . 'Configure')) {
$ProjectConfigure = PROJECT_NAME . 'Configure';
}
if (NULL !== $ProjectConfigure && NULL !== $ProjectConfigure::constant('DB_DSN')) {
$dsn = $ProjectConfigure::DB_DSN;
} elseif (0 < strlen($calledClassName) && __CLASS__ != $calledClassName && class_exists("Configure") && NULL !== Configure::constant(strtoupper($calledClassName) . "_DSN")) {
$dsn = Configure::constant(strtoupper($calledClassName) . "_DSN");
} elseif (class_exists("Configure") && NULL !== Configure::constant("DB_DSN")) {
$dsn = Configure::DB_DSN;
} else {
// 定数を使う
$dsn = DB_DSN;
}
if (TRUE === @property_exists($this, "DSN")) {
$this->DSN = $dsn;
}
if (TRUE === @property_exists($this, "dbidentifykey")) {
$this->dbidentifykey = $calledClassName;
}
}
if (!(isset(self::$_DBInstance[$calledClassName]) && is_object(self::$_DBInstance[$calledClassName]))) {
$DBInstance = ADONewConnection($dsn);
self::$_DBInstance[$calledClassName] = TRUE;
if (false === $DBInstance) {
// DBインスタンス初期化エラー
throw new Exception(__CLASS__ . PATH_SEPARATOR . __METHOD__ . PATH_SEPARATOR . __LINE__);
}
// XXX Pconnectの場合、直前のエラー終了プロセスのコネクションがコミットされずに残っていて
// それを再利用してしまうケースがあるので、まず再利用コネクションをロールバックする事に注意!!!
$DBInstance->RollbackTrans();
// インスタンスの保持
self::$_DBInstance[$calledClassName] = $DBInstance;
self::$_DSN[$calledClassName] = $dsn;
// MySQlはSET NAMES utf8する
if (0 === strpos($dsn, 'mysql') && FALSE === self::$_DBInstance[$calledClassName]->Execute("SET NAMES utf8")) {
throw new Exception(__CLASS__ . PATH_SEPARATOR . __METHOD__ . PATH_SEPARATOR . __LINE__);
}
// OracleはALTER SESSIONする
if (0 === strpos($dsn, 'oci') && FALSE === self::$_DBInstance[$calledClassName]->Execute("ALTER SESSION SET NLS_DATE_FORMAT = 'yyyy-mm-dd hh24:mi:ss'")) {
throw new Exception(__CLASS__ . PATH_SEPARATOR . __METHOD__ . PATH_SEPARATOR . __LINE__);
}
}
return $calledClassName;
}