當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Q::loadClass方法代碼示例

本文整理匯總了PHP中Q::loadClass方法的典型用法代碼示例。如果您正苦於以下問題:PHP Q::loadClass方法的具體用法?PHP Q::loadClass怎麽用?PHP Q::loadClass使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Q的用法示例。


在下文中一共展示了Q::loadClass方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: __construct

 /**
  * 構造函數
  *
  * @param array $app_config
  *
  * 構造應用程序對象
  */
 protected function __construct(array $app_config)
 {
     // #IFDEF DEBUG
     global $g_boot_time;
     QLog::log('--- STARTUP TIME --- ' . $g_boot_time, QLog::DEBUG);
     // #ENDIF
     /**
      * 初始化運行環境
      */
     // 禁止 magic quotes
     set_magic_quotes_runtime(0);
     // 處理被 magic quotes 自動轉義過的數據
     if (get_magic_quotes_gpc()) {
         $in = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
         while (list($k, $v) = each($in)) {
             foreach ($v as $key => $val) {
                 if (!is_array($val)) {
                     $in[$k][$key] = stripslashes($val);
                     continue;
                 }
                 $in[] =& $in[$k][$key];
             }
         }
         unset($in);
     }
     // 設置異常處理函數
     set_exception_handler(array($this, 'exception_handler'));
     // 初始化應用程序設置
     $this->_app_config = $app_config;
     $this->_initConfig();
     Q::replaceIni('app_config', $app_config);
     // 設置默認的時區
     date_default_timezone_set(Q::ini('l10n_default_timezone'));
     // 設置 session 服務
     if (Q::ini('runtime_session_provider')) {
         Q::loadClass(Q::ini('runtime_session_provider'));
     }
     // 打開 session
     if (Q::ini('runtime_session_start')) {
         session_start();
         // #IFDEF DEBUG
         QLog::log('session_start()', QLog::DEBUG);
         QLog::log('session_id: ' . session_id(), QLog::DEBUG);
         // #ENDIF
     }
     // 導入類搜索路徑
     Q::import($app_config['APP_DIR']);
     Q::import($app_config['APP_DIR'] . '/model');
     Q::import($app_config['MODULE_DIR']);
     // 注冊應用程序對象
     Q::register($this, 'app');
 }
開發者ID:BGCX262,項目名稱:zys-todo-svn-to-git,代碼行數:59,代碼來源:myapp.php

示例2: _init1

 /**
  * 第一步初始化
  *
  * @param string $class
  */
 protected function _init1($class)
 {
     // 從指定類獲得初步的定義信息
     Q::loadClass($class);
     $this->class_name = $class;
     $ref = (array) call_user_func(array($class, '__define'));
     // 設置 find_sql
     if (!empty($ref['find_sql'])) {
         $this->_find_sql = $ref['find_sql'];
     } else {
         throw new QDB_ActiveRecord_Exception('must set "find_sql".');
     }
     if (!empty($ref['dsn'])) {
         $this->_dsn = $ref['dsn'];
     }
     // 根據字段定義確定字段屬性
     if (empty($ref['props']) || !is_array($ref['props'])) {
         $ref['props'] = array();
     }
     foreach ($ref['props'] as $prop_name => $config) {
         $this->addProp($prop_name, $config);
     }
     // 綁定行為插件
     if (isset($ref['behaviors'])) {
         $config = isset($ref['behaviors_settings']) ? $ref['behaviors_settings'] : array();
         $this->bindBehaviors($ref['behaviors'], $config);
     }
 }
開發者ID:Debenson,項目名稱:openwan,代碼行數:33,代碼來源:viewmeta.php

示例3: execute

 /**
  * 執行一個查詢,返回一個查詢對象或者 boolean 值,出錯時拋出異常
  *
  * $sql 是要執行的 SQL 語句字符串,而 $inputarr 則是提供給 SQL 語句中參數占位符需要的值。
  *
  * 如果執行的查詢是諸如 INSERT、DELETE、UPDATE 等不會返回結果集的操作,
  * 則 execute() 執行成功後會返回 true,失敗時將拋出異常。
  *
  * 如果執行的查詢是 SELECT 等會返回結果集的操作,
  * 則 execute() 執行成功後會返回一個 DBO_Result 對象,失敗時將拋出異常。
  *
  * QDB_Result_Abstract 對象封裝了查詢結果句柄,而不是結果集。
  *
  * @param string $sql
  * @param array $inputarr
  *
  * @return QDB_Result_Abstract
  */
 function execute($sql, $inputarr = null)
 {
     if (is_array($inputarr)) {
         $sql = $this->_fakebind($sql, $inputarr);
     }
     if (!$this->_conn) {
         $this->connect();
     }
     //print_R($sql);
     $this->_lastrs = @pg_query($this->_conn, $sql);
     if ($this->_log_enabled) {
         QLog::log($sql, QLog::DEBUG);
     }
     if (is_resource($this->_lastrs)) {
         Q::loadClass('Qdb_Result_Pgsql');
         return new QDB_Result_Pgsql($this->_lastrs, $this->_fetch_mode);
     } elseif ($this->_lastrs) {
         $this->_last_err = null;
         $this->_last_err_code = null;
         return $this->_lastrs;
     } else {
         $this->_last_err = pg_errormessage($this->_conn);
         $this->_last_err_code = null;
         $this->_has_failed_query = true;
         throw new QDB_Exception($sql, $this->_last_err, $this->_last_err_code);
     }
 }
開發者ID:BGCX262,項目名稱:zxhproject-svn-to-git,代碼行數:45,代碼來源:pgsql.php

示例4: _init1

 /**
  * 第一步初始化
  *
  * @param string $class
  */
 protected function _init1($class)
 {
     // 從指定類獲得初步的定義信息
     Q::loadClass($class);
     $this->class_name = $class;
     $ref = (array) call_user_func(array($class, '__define'));
     /**
      * 檢查是否是繼承
      */
     if (!empty($ref['inherit'])) {
         $this->inherit_base_class = $ref['inherit'];
         /**
          * 繼承類的 __define() 方法隻需要指定與父類不同的內容
          */
         $base_ref = (array) call_user_func(array($this->inherit_base_class, '__define'));
         $ref = array_merge_recursive($base_ref, $ref);
     }
     // 被繼承的類
     $this->inherit_type_field = !empty($ref['inherit_type_field']) ? $ref['inherit_type_field'] : null;
     // 設置表數據入口對象
     $table_config = !empty($ref['table_config']) ? (array) $ref['table_config'] : array();
     if (!empty($ref['table_class'])) {
         $this->table = $this->_tableByClass($ref['table_class'], $table_config);
     } else {
         $this->table = $this->_tableByName($ref['table_name'], $table_config);
     }
     $this->table_meta = $this->table->columns();
     // 根據字段定義確定字段屬性
     if (empty($ref['props']) || !is_array($ref['props'])) {
         $ref['props'] = array();
     }
     foreach ($ref['props'] as $prop_name => $config) {
         $this->addProp($prop_name, $config);
     }
     // 將沒有指定的字段也設置為對象屬性
     foreach ($this->table_meta as $prop_name => $field) {
         if (isset($this->props2fields[$prop_name])) {
             continue;
         }
         $this->addProp($prop_name, $field);
     }
     // 設置其他選項
     if (!empty($ref['create_reject'])) {
         $this->create_reject = array_flip(Q::normalize($ref['create_reject']));
     }
     if (!empty($ref['update_reject'])) {
         $this->update_reject = array_flip(Q::normalize($ref['update_reject']));
     }
     if (!empty($ref['create_autofill']) && is_array($ref['create_autofill'])) {
         $this->create_autofill = $ref['create_autofill'];
     }
     if (!empty($ref['update_autofill']) && is_array($ref['update_autofill'])) {
         $this->update_autofill = $ref['update_autofill'];
     }
     if (!empty($ref['attr_accessible'])) {
         $this->attr_accessible = array_flip(Q::normalize($ref['attr_accessible']));
     }
     if (!empty($ref['attr_protected'])) {
         $this->attr_protected = array_flip(Q::normalize($ref['attr_protected']));
     }
     // 準備驗證規則
     if (empty($ref['validations']) || !is_array($ref['validations'])) {
         $ref['validations'] = array();
     }
     $this->validations = $this->_prepareValidationRules($ref['validations']);
     // 設置對象 ID 屬性名
     $pk = $this->table->getPK();
     $this->idname = array();
     foreach ($this->table->getPK() as $pk) {
         $pn = $this->fields2props[$pk];
         $this->idname[$pn] = $pn;
     }
     $this->idname_count = count($this->idname);
     // 綁定行為插件
     if (isset($ref['behaviors'])) {
         $config = isset($ref['behaviors_settings']) ? $ref['behaviors_settings'] : array();
         $this->bindBehaviors($ref['behaviors'], $config);
     }
 }
開發者ID:Debenson,項目名稱:openwan,代碼行數:84,代碼來源:meta.php

示例5: testLoadClassWithCaseSensitive

 /**
  * 測試載入類(大小寫敏感)
  */
 function testLoadClassWithCaseSensitive()
 {
     Q::loadClass('Class2');
 }
開發者ID:BGCX262,項目名稱:zys-blog-svn-to-git,代碼行數:7,代碼來源:loadclass.php

示例6: array

<?php

/////////////////////////////////////////////////////////////////////////////
// QeePHP Framework
//
// Copyright (c) 2005 - 2008 QeeYuan China Inc. (http://www.qeeyuan.com)
//
// 許可協議,請查看源代碼中附帶的 LICENSE.TXT 文件,
// 或者訪問 http://www.qeephp.org/ 獲得詳細信息。
/////////////////////////////////////////////////////////////////////////////
/**
 * 定義 Chili_Runner_Abstract 類
 */
// {{ include
Q::loadClass('Chili_Exception');
// }}
/**
 * Chili_Runner_Abstract 是應用程序構造器的抽象類
 *
 * @package chili
 */
abstract class Chili_Runner_Abstract
{
    /**
     * 複製文件時要動態替換的內容
     *
     * @var array
     */
    private $content_search = array('%QEEPHP_INST_DIR%', '%APP_ID%');
    private $content_replace = array();
    /**
開發者ID:fchaose,項目名稱:qeephp,代碼行數:31,代碼來源:abstract.php

示例7: run

 /**
  * QeePHP 應用程序 MVC 模式入口
  *
  * @return mixed
  */
 function run()
 {
     // #IFDEF DEBUG
     QLog::log(__METHOD__, QLog::DEBUG);
     // #ENDIF
     // 設置默認的時區
     date_default_timezone_set($this->context->getIni('l10n_default_timezone'));
     // 設置 session 服務
     if ($this->context->getIni('runtime_session_provider')) {
         Q::loadClass($this->context->getIni('runtime_session_provider'));
     }
     // 打開 session
     if ($this->context->getIni('runtime_session_start')) {
         // #IFDEF DEBUG
         QLog::log('session_start()', QLog::DEBUG);
         // #ENDIF
         session_start();
     }
     // 設置驗證失敗錯誤處理的回調方法
     $this->context->setIni('dispatcher_on_access_denied', array($this, 'onAccessDenied'));
     // 設置處理動作方法未找到錯誤的回調方法
     $this->context->setIni('dispatcher_on_action_not_found', array($this, 'onActionNotFound'));
     // 從 session 中提取 flash message
     if (isset($_SESSION)) {
         $key = $this->context->getIni('app_flash_message_key');
         $arr = isset($_SESSION[$key]) ? $_SESSION[$key] : null;
         if (!is_array($arr)) {
             $arr = array(self::FLASH_MSG_INFO, $arr);
         } elseif (!isset($arr[1])) {
             $arr = array(self::FLASH_MSG_INFO, $arr[0]);
         }
         if ($arr[0] != self::FLASH_MSG_ERROR && $arr[0] != self::FLASH_MSG_INFO && $arr[0] != self::FLASH_MSG_WARNING) {
             $arr[0] = self::FLASH_MSG_INFO;
         }
         $this->_flash_message_type = $arr[0];
         $this->_flash_message = $arr[1];
         unset($_SESSION[$key]);
     }
     // 初始化訪問控製對象
     $this->acl = Q::getSingleton('QACL');
     // 執行動作
     $context = QContext::instance($this->context->module_name, $this->_appid);
     return $this->_executeAction($context);
 }
開發者ID:fchaose,項目名稱:qeephp,代碼行數:49,代碼來源:abstract.php


注:本文中的Q::loadClass方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。