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


PHP parse_res_name函數代碼示例

本文整理匯總了PHP中parse_res_name函數的典型用法代碼示例。如果您正苦於以下問題:PHP parse_res_name函數的具體用法?PHP parse_res_name怎麽用?PHP parse_res_name使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


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

示例1: getTableName

 /**
  * 得到完整的數據表名
  * @access public
  * @return string
  */
 public function getTableName()
 {
     if (empty($this->trueTableName)) {
         $tableName = '';
         foreach ($this->viewFields as $key => $view) {
             // 獲取數據表名稱
             if (isset($view['_table'])) {
                 // 2011/10/17 添加實際表名定義支持 可以實現同一個表的視圖
                 $tableName .= $view['_table'];
                 $prefix = $this->tablePrefix;
                 $tableName = preg_replace_callback("/__([A-Z_-]+)__/sU", function ($match) use($prefix) {
                     return $prefix . strtolower($match[1]);
                 }, $tableName);
             } else {
                 $class = parse_res_name($key, C('DEFAULT_M_LAYER'));
                 $Model = class_exists($class) ? new $class() : M($key);
                 $tableName .= $Model->getTableName();
             }
             // 表別名定義
             $tableName .= !empty($view['_as']) ? ' ' . $view['_as'] : ' ' . $key;
             // 支持ON 條件定義
             $tableName .= !empty($view['_on']) ? ' ON ' . $view['_on'] : '';
             // 指定JOIN類型 例如 RIGHT INNER LEFT 下一個表有效
             $type = !empty($view['_type']) ? $view['_type'] : '';
             $tableName .= ' ' . strtoupper($type) . ' JOIN ';
             $len = strlen($type . '_JOIN ');
         }
         $tableName = substr($tableName, 0, -$len);
         $this->trueTableName = $tableName;
     }
     return $this->trueTableName;
 }
開發者ID:liunanx,項目名稱:php1009,代碼行數:37,代碼來源:ViewModel.class.php

示例2: D

/**
 * 實例化模型類 格式 [資源://][模塊/]模型
 * @param string $name 資源地址
 * @param string $layer 模型層名稱
 * @return Model
 */
function D($name = '', $layer = '')
{
    if (empty($name)) {
        return new System\Model();
    }
    static $_model = array();
    $layer = $layer ?: C('DEFAULT_M_LAYER');
    if (isset($_model[$name . $layer])) {
        return $_model[$name . $layer];
    }
    $class = parse_res_name($name, $layer);
    if (class_exists($class)) {
        $model = new $class(basename($name));
    } elseif (false === strpos($name, '/')) {
        // 自動加載公共模塊下麵的模型
        if (!C('APP_USE_NAMESPACE')) {
            import('Common/' . $layer . '/' . $class);
        } else {
            $class = '\\Common\\' . $layer . '\\' . $name . $layer;
        }
        $model = class_exists($class) ? new $class($name) : new System\Model($name);
    } else {
        System\Log::record('D方法實例化沒找到模型類' . $class, System\Log::NOTICE);
        $model = new System\Model(basename($name));
    }
    $_model[$name . $layer] = $model;
    return $model;
}
開發者ID:vkey24,項目名稱:crazy-grab,代碼行數:34,代碼來源:function.php

示例3: D

/**
 * 實例化模型類 格式 [資源://][模塊/]模型
 * @param string $name 資源地址
 * @param string $layer 模型層名稱
 * @return Think\Model
 */
function D($name = '')
{
    if (empty($name)) {
        return new Think\Model();
    }
    static $_model = array();
    $layer = C('DEFAULT_M_LAYER');
    if (isset($_model[$name . $layer])) {
        return $_model[$name . $layer];
    }
    $class = parse_res_name($name, $layer);
    if (class_exists($class)) {
        $model = new $class(basename($name));
    } elseif (false === strpos($name, '/')) {
        $model = new Think\Model($name);
    } else {
        $model = new Think\Model(basename($name));
    }
    $_model[$name . $layer] = $model;
    return $model;
}
開發者ID:xs5816,項目名稱:mictp,代碼行數:27,代碼來源:functions.php

示例4: A

/**
 * 實例化多層控製器 格式:[資源://][模塊/]控製器
 * @param string $name 資源地址
 * @param string $layer 控製層名稱
 * @param integer $level 控製器層次
 * @return Think\Controller|false
 */
function A($name, $layer = '', $level = 0)
{
    static $_action = array();
    $layer = $layer ?: C('DEFAULT_C_LAYER');
    $level = $level ?: ($layer == C('DEFAULT_C_LAYER') ? C('CONTROLLER_LEVEL') : 1);
    if (isset($_action[$name . $layer])) {
        return $_action[$name . $layer];
    }
    $class = parse_res_name($name, $layer, $level);
    if (class_exists($class)) {
        $action = new $class();
        $_action[$name . $layer] = $action;
        return $action;
    } else {
        return false;
    }
}
開發者ID:shaoxianhui,項目名稱:guodaxia,代碼行數:24,代碼來源:functions.php

示例5: A

/**
 * A函數用於實例化控製器 格式:[資源://][模塊/]控製器
 * @param string $name 資源地址
 * @param string $layer 控製層名稱
 * @param integer $level 控製器層次
 * @return Controller|false
 */
function A($name, $layer = '', $level = '')
{
    //$name = "User";
    static $_action = array();
    $layer = $layer ? $layer : C('DEFAULT_C_LAYER');
    $level = $level ? $level : ($layer == C('DEFAULT_C_LAYER') ? C('CONTROLLER_LEVEL') : 1);
    if (isset($_action[$name . $layer])) {
        return $_action[$name . $layer];
    }
    //$name = "User";
    //$lay = "Controller";
    //$level = 1;
    $class = parse_res_name($name, $layer, $level);
    if (class_exists($class)) {
        $action = new $class();
        $_action[$name . $layer] = $action;
        return $action;
    } else {
        return false;
    }
}
開發者ID:gaomengsuijia,項目名稱:1122,代碼行數:28,代碼來源:functions.php

示例6: newObj

 private static function newObj($name, $layer)
 {
     static $_obj = array();
     $class = parse_res_name($name, $layer);
     if (isset($_obj[$name . $layer])) {
         return $_obj[$name . $layer];
     }
     $class = parse_res_name($name, $layer);
     if (class_exists($class)) {
         $model = new $class($name);
     }
     $_obj[$name . $layer] = $model;
     return $model;
 }
開發者ID:skyshow,項目名稱:ticket,代碼行數:14,代碼來源:WechatWrap.class.php

示例7: load

 * @param string $baseUrl 起始路徑
 * @param string $ext 導入的文件擴展名
 * @return void
 */
function load($name, $baseUrl = '', $ext = '.php')
{
    $name = str_replace(array('.', '#'), array('/', '.'), $name);
    if (empty($baseUrl)) {
        if (0 === strpos($name, '@/')) {
            //加載當前模塊函數庫
            $baseUrl = MODULE_PATH . 'Common/';
            $name = substr($name, 2);
        } else {
            //加載其他模塊函數庫
            $array = explode('/', $name);
            $baseUrl = APP_PATH . array_shift($array) . '/Common/';
            $name = implode('/', $array);
開發者ID:TedaLIEz,項目名稱:AUNET,代碼行數:17,代碼來源:functions.php


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