本文整理汇总了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;
}
示例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;
}
示例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;
}
示例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;
}
}
示例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;
}
}
示例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;
}
示例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);