内核更新
This commit is contained in:
@@ -369,12 +369,16 @@ class Loader
|
||||
if (isset(self::$instance[$guid])) {
|
||||
return self::$instance[$guid];
|
||||
}
|
||||
if (strpos($name, '/')) {
|
||||
list($module, $name) = explode('/', $name, 2);
|
||||
if (strpos($name, '\\')) {
|
||||
$class = $name;
|
||||
} else {
|
||||
$module = Request::instance()->module();
|
||||
if (strpos($name, '/')) {
|
||||
list($module, $name) = explode('/', $name, 2);
|
||||
} else {
|
||||
$module = Request::instance()->module();
|
||||
}
|
||||
$class = self::parseClass($module, $layer, $name, $appendSuffix);
|
||||
}
|
||||
$class = self::parseClass($module, $layer, $name, $appendSuffix);
|
||||
if (class_exists($class)) {
|
||||
$model = new $class();
|
||||
} else {
|
||||
@@ -400,12 +404,16 @@ class Loader
|
||||
*/
|
||||
public static function controller($name, $layer = 'controller', $appendSuffix = false, $empty = '')
|
||||
{
|
||||
if (strpos($name, '/')) {
|
||||
list($module, $name) = explode('/', $name);
|
||||
if (strpos($name, '\\')) {
|
||||
$class = $name;
|
||||
} else {
|
||||
$module = Request::instance()->module();
|
||||
if (strpos($name, '/')) {
|
||||
list($module, $name) = explode('/', $name);
|
||||
} else {
|
||||
$module = Request::instance()->module();
|
||||
}
|
||||
$class = self::parseClass($module, $layer, $name, $appendSuffix);
|
||||
}
|
||||
$class = self::parseClass($module, $layer, $name, $appendSuffix);
|
||||
if (class_exists($class)) {
|
||||
return App::invokeClass($class);
|
||||
} elseif ($empty && class_exists($emptyClass = self::parseClass($module, $layer, $empty, $appendSuffix))) {
|
||||
@@ -432,12 +440,16 @@ class Loader
|
||||
if (isset(self::$instance[$guid])) {
|
||||
return self::$instance[$guid];
|
||||
}
|
||||
if (strpos($name, '/')) {
|
||||
list($module, $name) = explode('/', $name);
|
||||
if (strpos($name, '\\')) {
|
||||
$class = $name;
|
||||
} else {
|
||||
$module = Request::instance()->module();
|
||||
if (strpos($name, '/')) {
|
||||
list($module, $name) = explode('/', $name);
|
||||
} else {
|
||||
$module = Request::instance()->module();
|
||||
}
|
||||
$class = self::parseClass($module, $layer, $name, $appendSuffix);
|
||||
}
|
||||
$class = self::parseClass($module, $layer, $name, $appendSuffix);
|
||||
if (class_exists($class)) {
|
||||
$validate = new $class;
|
||||
} else {
|
||||
@@ -494,14 +506,16 @@ class Loader
|
||||
* type 0 将Java风格转换为C的风格 1 将C风格转换为Java的风格
|
||||
* @param string $name 字符串
|
||||
* @param integer $type 转换类型
|
||||
* @param bool $ucfirst 首字母是否大写(驼峰规则)
|
||||
* @return string
|
||||
*/
|
||||
public static function parseName($name, $type = 0)
|
||||
public static function parseName($name, $type = 0, $ucfirst = true)
|
||||
{
|
||||
if ($type) {
|
||||
return ucfirst(preg_replace_callback('/_([a-zA-Z])/', function ($match) {
|
||||
$name = preg_replace_callback('/_([a-zA-Z])/', function ($match) {
|
||||
return strtoupper($match[1]);
|
||||
}, $name));
|
||||
}, $name);
|
||||
return $ucfirst ? ucfirst($name) : lcfirst($name);
|
||||
} else {
|
||||
return strtolower(trim(preg_replace("/[A-Z]/", "_\\0", $name), "_"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user