// +---------------------------------------------------------------------- namespace think\behavior; /** * 系统行为扩展:定位模板文件 */ class LocationTemplate { // 行为扩展的执行入口必须是run public function run(&$templateFile) { // 自动定位模板文件 if (!is_file($templateFile)) { $templateFile = $this->parseTemplateFile($templateFile); } } /** * 自动定位模板文件 * @access private * @param string $templateFile 文件名 * @return string */ private function parseTemplateFile($template) { $template = str_replace(':', '/', $template); if ('' == $template) { // 如果模板文件名为空 按照默认规则定位 $template = CONTROLLER_NAME . '/' . ACTION_NAME; } elseif (false === strpos($template, '/')) { $template = CONTROLLER_NAME . '/' . $template; } elseif (false === strpos($template, '.')) { $template = $template; } $templateFile = MODULE_PATH . 'view/' . $template . '.html'; return $templateFile; } }