diff --git a/library/think/Request.php b/library/think/Request.php index 8d4f6c78..39981afe 100644 --- a/library/think/Request.php +++ b/library/think/Request.php @@ -1378,7 +1378,7 @@ class Request */ public function getContent() { - if (null === $this->content) { + if (is_null($this->content)) { $this->content = file_get_contents('php://input'); } return $this->content; diff --git a/library/think/Template.php b/library/think/Template.php index 18a37d86..a0f27706 100644 --- a/library/think/Template.php +++ b/library/think/Template.php @@ -672,7 +672,7 @@ class Template */ public function parseTagLib($tagLib, &$content, $hide = false) { - if (strpos($tagLib, '\\')) { + if (false !== strpos($tagLib, '\\')) { // 支持指定标签库的命名空间 $className = $tagLib; $tagLib = substr($tagLib, strrpos($tagLib, '\\') + 1); diff --git a/library/think/template/TagLib.php b/library/think/template/TagLib.php index 456036e0..54e09da3 100644 --- a/library/think/template/TagLib.php +++ b/library/think/template/TagLib.php @@ -138,7 +138,7 @@ class TagLib $alias = $_lib . $name != $node['name'] ? ($_lib ? strstr($node['name'], $_lib) : $node['name']) : ''; // 解析标签属性 $attrs = $this->parseAttr($node['begin'][0], $name, $alias); - $method = '_' . $name; + $method = 'tag' . $name; // 读取标签库中对应的标签内容 replace[0]用来替换标签头,replace[1]用来替换标签尾 $replace = explode($break, $this->$method($attrs, $break)); if (count($replace) > 1) { @@ -176,7 +176,7 @@ class TagLib $alias = $_lib . $name != $matches[1] ? ($_lib ? strstr($matches[1], $_lib) : $matches[1]) : ''; // 解析标签属性 $attrs = $this->parseAttr($matches[0], $name, $alias); - $method = '_' . $name; + $method = 'tag' . $name; return $this->$method($attrs, ''); }, $content); } diff --git a/library/think/template/taglib/Cx.php b/library/think/template/taglib/Cx.php index b085b83a..021178b3 100644 --- a/library/think/template/taglib/Cx.php +++ b/library/think/template/taglib/Cx.php @@ -43,8 +43,7 @@ class Cx extends Taglib 'notpresent' => ['attr' => 'name'], 'defined' => ['attr' => 'name'], 'notdefined' => ['attr' => 'name'], - 'import' => ['attr' => 'file,href,type,value,basepath', 'close' => 0], - 'load' => ['attr' => 'file,href,type,value,basepath', 'close' => 0, 'alias' => ['css,js', 'type']], + 'load' => ['attr' => 'file,href,type,value,basepath', 'close' => 0, 'alias' => ['import,css,js', 'type']], 'assign' => ['attr' => 'name,value', 'close' => 0], 'define' => ['attr' => 'name,value', 'close' => 0], 'for' => ['attr' => 'start,end,name,comparison,step'], @@ -61,7 +60,7 @@ class Cx extends Taglib * @param string $content 标签内容 * @return string */ - public function _php($tag, $content) + public function tagPhp($tag, $content) { $parseStr = ''; return $parseStr; @@ -79,7 +78,7 @@ class Cx extends Taglib * @param string $content 标签内容 * @return string|void */ - public function _volist($tag, $content) + public function tagVolist($tag, $content) { $name = $tag['name']; $id = $tag['id']; @@ -131,7 +130,7 @@ class Cx extends Taglib * @param string $content 标签内容 * @return string|void */ - public function _foreach($tag, $content) + public function tagForeach($tag, $content) { // 直接使用表达式 if (!empty($tag['expression'])) { @@ -212,7 +211,7 @@ class Cx extends Taglib * @param string $content 标签内容 * @return string */ - public function _if($tag, $content) + public function tagIf($tag, $content) { $condition = !empty($tag['expression']) ? $tag['expression'] : $tag['condition']; $condition = $this->parseCondition($condition); @@ -228,7 +227,7 @@ class Cx extends Taglib * @param string $content 标签内容 * @return string */ - public function _elseif($tag, $content) + public function tagElseif($tag, $content) { $condition = !empty($tag['expression']) ? $tag['expression'] : $tag['condition']; $condition = $this->parseCondition($condition); @@ -243,7 +242,7 @@ class Cx extends Taglib * @param array $tag 标签属性 * @return string */ - public function _else($tag) + public function tagElse($tag) { $parseStr = ''; return $parseStr; @@ -262,7 +261,7 @@ class Cx extends Taglib * @param string $content 标签内容 * @return string */ - public function _switch($tag, $content) + public function tagSwitch($tag, $content) { $name = !empty($tag['expression']) ? $tag['expression'] : $tag['name']; $name = $this->autoBuildVar($name); @@ -277,7 +276,7 @@ class Cx extends Taglib * @param string $content 标签内容 * @return string */ - public function _case($tag, $content) + public function tagCase($tag, $content) { $value = !empty($tag['expression']) ? $tag['expression'] : $tag['value']; $flag = substr($value, 0, 1); @@ -309,7 +308,7 @@ class Cx extends Taglib * @param string $content 标签内容 * @return string */ - public function _default($tag) + public function tagDefault($tag) { $parseStr = ''; return $parseStr; @@ -324,7 +323,7 @@ class Cx extends Taglib * @param string $content 标签内容 * @return string */ - public function _compare($tag, $content) + public function tagCompare($tag, $content) { $name = $tag['name']; $value = $tag['value']; @@ -359,7 +358,7 @@ class Cx extends Taglib * @param string $content 标签内容 * @return string */ - public function _range($tag, $content) + public function tagRange($tag, $content) { $name = $tag['name']; $value = $tag['value']; @@ -394,7 +393,7 @@ class Cx extends Taglib * @param string $content 标签内容 * @return string */ - public function _present($tag, $content) + public function tagPresent($tag, $content) { $name = $tag['name']; $name = $this->autoBuildVar($name); @@ -411,7 +410,7 @@ class Cx extends Taglib * @param string $content 标签内容 * @return string */ - public function _notpresent($tag, $content) + public function tagNotpresent($tag, $content) { $name = $tag['name']; $name = $this->autoBuildVar($name); @@ -428,7 +427,7 @@ class Cx extends Taglib * @param string $content 标签内容 * @return string */ - public function _empty($tag, $content) + public function tagEmpty($tag, $content) { $name = $tag['name']; $name = $this->autoBuildVar($name); @@ -445,7 +444,7 @@ class Cx extends Taglib * @param string $content 标签内容 * @return string */ - public function _notempty($tag, $content) + public function tagNotempty($tag, $content) { $name = $tag['name']; $name = $this->autoBuildVar($name); @@ -460,7 +459,7 @@ class Cx extends Taglib * @param string $content * @return string */ - public function _defined($tag, $content) + public function tagDefined($tag, $content) { $name = $tag['name']; $parseStr = '' . $content . ''; @@ -474,7 +473,7 @@ class Cx extends Taglib * @param string $content * @return string */ - public function _notdefined($tag, $content) + public function tagNotdefined($tag, $content) { $name = $tag['name']; $parseStr = '' . $content . ''; @@ -482,19 +481,17 @@ class Cx extends Taglib } /** - * import 标签解析 {import file="Js.Base" /} - * 格式:{import file="Css.Base" type="css" /} + * load 标签解析 {load file="/static/js/base.js" /} + * 格式:{load file="/static/css/base.css" /} * @access public * @param array $tag 标签属性 * @param string $content 标签内容 - * @param boolean $isFile 是否文件方式 - * @param string $type 类型 * @return string */ - public function _import($tag, $content, $isFile = false) + public function tagLoad($tag, $content) { $file = isset($tag['file']) ? $tag['file'] : $tag['href']; - $type = isset($tag['type']) ? strtolower($tag['type']) : ($isFile ? null : 'js'); + $type = isset($tag['type']) ? strtolower($tag['type']) : ''; $parseStr = ''; $endStr = ''; // 判断是否存在加载条件 允许使用函数判断(默认为isset) @@ -505,58 +502,26 @@ class Cx extends Taglib $parseStr .= ''; $endStr = ''; } - if ($isFile) { - // 文件方式导入 - $array = explode(',', $file); - foreach ($array as $val) { - if (!$type || isset($reset)) { - $type = $reset = strtolower(substr(strrchr($val, '.'), 1)); - } - switch ($type) { - case 'js': - $parseStr .= ''; - break; - case 'css': - $parseStr .= ''; - break; - case 'php': - $parseStr .= ''; - break; - } - } - } else { - // 命名空间导入模式 - $basepath = !empty($tag['basepath']) ? $tag['basepath'] : '/public'; - // 命名空间方式导入外部文件 - $array = explode(',', $file); - foreach ($array as $val) { - if (strpos($val, '?')) { - list($val, $version) = explode('?', $val); - } else { - $version = ''; - } - switch ($type) { - case 'js': - $parseStr .= ''; - break; - case 'css': - $parseStr .= ''; - break; - case 'php': - $parseStr .= ''; - break; - } + + // 文件方式导入 + $array = explode(',', $file); + foreach ($array as $val) { + $type = $reset = strtolower(substr(strrchr($val, '.'), 1)); + switch ($type) { + case 'js': + $parseStr .= ''; + break; + case 'css': + $parseStr .= ''; + break; + case 'php': + $parseStr .= ''; + break; } } return $parseStr . $endStr; } - // import别名 采用文件方式加载(要使用命名空间必须用import) 例如 - public function _load($tag, $content) - { - return $this->_import($tag, $content, true); - } - /** * assign标签解析 * 在模板中给某个变量赋值 支持变量赋值 @@ -566,7 +531,7 @@ class Cx extends Taglib * @param string $content 标签内容 * @return string */ - public function _assign($tag, $content) + public function tagAssign($tag, $content) { $name = $this->autoBuildVar($tag['name']); $flag = substr($tag['value'], 0, 1); @@ -588,7 +553,7 @@ class Cx extends Taglib * @param string $content 标签内容 * @return string */ - public function _define($tag, $content) + public function tagDefine($tag, $content) { $name = '\'' . $tag['name'] . '\''; $flag = substr($tag['value'], 0, 1); @@ -612,7 +577,7 @@ class Cx extends Taglib * @param string $content 标签内容 * @return string */ - public function _for($tag, $content) + public function tagFor($tag, $content) { //设置默认值 $start = 0; @@ -663,7 +628,7 @@ class Cx extends Taglib * @param string $content 标签内容 * @return string */ - public function _url($tag, $content) + public function tagUrl($tag, $content) { $url = isset($tag['link']) ? $tag['link'] : ''; $vars = isset($tag['vars']) ? $tag['vars'] : ''; @@ -689,7 +654,7 @@ class Cx extends Taglib * @param string $content 标签内容 * @return string */ - public function _function($tag, $content) + public function tagFunction($tag, $content) { $name = !empty($tag['name']) ? $tag['name'] : 'func'; $vars = !empty($tag['vars']) ? $tag['vars'] : '';