From 1a2a58a8add7a121968776d6a64bb7262b5e4fd7 Mon Sep 17 00:00:00 2001 From: thinkphp Date: Wed, 10 Apr 2013 22:19:19 +0800 Subject: [PATCH] =?UTF-8?q?Loader=E7=B1=BB=E7=9A=84=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E6=96=B9=E6=B3=95=20Win=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E4=B8=8B=E9=9D=A2=E4=B8=A5=E6=A0=BC=E5=8C=BA=E5=88=86=E5=A4=A7?= =?UTF-8?q?=E5=B0=8F=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Think/App.php | 2 +- Think/Loader.php | 14 +++++++++----- Think/Template.php | 2 +- Think/Template/Taglib/Cx.php | 2 +- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/Think/App.php b/Think/App.php index 05b5360e..7d9197f6 100644 --- a/Think/App.php +++ b/Think/App.php @@ -178,7 +178,7 @@ class App { } // 获取模块名称 - define('MODULE_NAME',strtolower(isset($_GET[$var_m])?$_GET[$var_m]:$config['default_module'])); + define('MODULE_NAME',ucwords(strtolower(isset($_GET[$var_m])?$_GET[$var_m]:$config['default_module']))); // 模块初始化 if(MODULE_NAME && is_dir(APP_PATH.MODULE_NAME)) { diff --git a/Think/Loader.php b/Think/Loader.php index d38d953f..a1e6b7f2 100644 --- a/Think/Loader.php +++ b/Think/Loader.php @@ -35,8 +35,12 @@ class Loader { } } $path = $find?dirname($path).'/':APP_PATH; - $filename = $path.str_replace('\\','/',$class).'.php'; + $filename = $path.str_replace('\\','/',$class).EXT; if(is_file($filename)) { + // Win环境下面严格区分大小写 + if (IS_WIN && !strstr(str_replace('/','\\',realpath($filename)),$class.EXT,true)){ + return ; + } include $filename; } } @@ -71,7 +75,7 @@ class Loader { */ static public function import($class, $baseUrl = '', $ext= EXT ) { static $_file = []; - $class = str_replace(array('.', '#'), array('/', '.'), $class); + $class = str_replace(['.', '#'], ['/', '.'], $class); if (isset($_file[$class . $baseUrl])) return true; else @@ -82,11 +86,11 @@ class Loader { //加载当前项目应用类库 $class = substr_replace($class, '', 0, strlen($class_strut[0]) + 1); $baseUrl = MODULE_PATH; - }elseif (in_array(strtolower($class_strut[0]), array('org','com'))) { + }elseif (in_array($class_strut[0], ['Org','Com'])) { // org 第三方公共类库 com 企业公共类库 $baseUrl = LIB_PATH; - }elseif('vendor' == strtolower($class_strut[0])){ - $baseUrl = VENDOR_PATH; + }elseif(in_array($class_strut[0], ['Think','Vendor','Traits'])){ + $baseUrl = THINK_PATH; }else { // 加载其他项目应用类库 $class = substr_replace($class, '', 0, strlen($class_strut[0]) + 1); $baseUrl = APP_PATH . $class_strut[0] .'/'; diff --git a/Think/Template.php b/Think/Template.php index bece6f57..70bdb154 100644 --- a/Think/Template.php +++ b/Think/Template.php @@ -426,7 +426,7 @@ class Template { protected function parseTagLib($tagLib,&$content,$hide=false) { $begin = $this->config['taglib_begin']; $end = $this->config['taglib_end']; - $className = '\\Think\\Template\\Taglib\\'.ucwords($tagLib); + $className = '\\Think\\Template\\TagLib\\'.ucwords($tagLib); $tLib = new $className; foreach ($tLib->getTags() as $name=>$val){ $tags = [$name]; diff --git a/Think/Template/Taglib/Cx.php b/Think/Template/Taglib/Cx.php index b8507d62..5dc74803 100644 --- a/Think/Template/Taglib/Cx.php +++ b/Think/Template/Taglib/Cx.php @@ -9,7 +9,7 @@ // | Author: liu21st // +---------------------------------------------------------------------- -namespace Think\Template\Taglib; +namespace Think\Template\TagLib; use Think\Template\TagLib; /** * CX标签库解析类