phpcms首页的html模板是如何加载的呢
怎么看也没有看出来,它的入口文件是如何加载html首页模板的.
有一个basee.php类,好象负责加载的,但是里面有点看不懂它怎么载的呢
<?php<br />/**<br /> * base.php PHPCMS框架入口文件<br /> *<br /> * @copyright (C) 2005-2010 PHPCMS<br /> * @license http://www.phpcms.cn/license/<br /> * @lastmodify 2010-6-7<br /> */<br />define('IN_PHPCMS', true);<br /><br />//PHPCMS框架路径<br />define('PC_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR);<br /><br />if(!defined('PHPCMS_PATH')) define('PHPCMS_PATH', PC_PATH.'..'.DIRECTORY_SEPARATOR);<br /><br />//缓存文件夹地址<br />define('CACHE_PATH', PHPCMS_PATH.'caches'.DIRECTORY_SEPARATOR);<br />//主机协议<br />define('SITE_PROTOCOL', isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://');<br />//当前访问的主机名<br />define('SITE_URL', (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ''));<br />//来源<br />define('HTTP_REFERER', isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '');<br /><br />//系统开始时间<br />define('SYS_START_TIME', microtime());<br /><br />//加载公用函数库<br />pc_base::load_sys_func('global');<br />pc_base::load_sys_func('extention');<br />pc_base::auto_load_func();<br /><br />pc_base::load_config('system','errorlog') ? set_error_handler('my_error_handler') : error_reporting(E_ERROR | E_WARNING | E_PARSE);<br />//设置本地时差<br />function_exists('date_default_timezone_set') && date_default_timezone_set(pc_base::load_config('system','timezone'));<br /><br />define('CHARSET' ,pc_base::load_config('system','charset'));<br />//输出页面字符集<br />header('Content-type: text/html; charset='.CHARSET);<br /><br />define('SYS_TIME', time());<br />//定义网站根路径<br />define('WEB_PATH',pc_base::load_config('system','web_path'));<br />//js 路径<br />define('JS_PATH',pc_base::load_config('system','js_path'));<br />//css 路径<br />define('CSS_PATH',pc_base::load_config('system','css_path'));<br />//img 路径<br />define('IMG_PATH',pc_base::load_config('system','img_path'));<br />//动态程序路径<br />define('APP_PATH',pc_base::load_config('system','app_path'));<br /><br />//应用静态文件路径<br />define('PLUGIN_STATICS_PATH',WEB_PATH.'statics/plugin/');<br /><br />if(pc_base::load_config('system','gzip') && function_exists('ob_gzhandler')) {<br /> ob_start('ob_gzhandler');<br />} else {<br /> ob_start();<br />}<br /><br />class pc_base {<br /> <br /> /**<br /> * 初始化应用程序<br /> */<br /> public static function creat_app() {<br /> return self::load_sys_class('application');<br /> }<br /> /**<br /> * 加载系统类方法<br /> * @param string $classname 类名<br /> * @param string $path 扩展地址<br /> * @param intger $initialize 是否初始化<br /> */<br /> public static function load_sys_class($classname, $path = '', $initialize = 1) {<br /> return self::_load_class($classname, $path, $initialize);<br /> }<br /> <br /> /**<br /> * 加载应用类方法<br /> * @param string $classname 类名<br /> * @param string $m 模块<br /> * @param intger $initialize 是否初始化<br /> */<br /> public static function load_app_class($classname, $m = '', $initialize = 1) {<br /> $m = empty($m) && defined('ROUTE_M') ? ROUTE_M : $m;<br /> if (empty($m)) return false;<br /> return self::_load_class($classname, 'modules'.DIRECTORY_SEPARATOR.$m.DIRECTORY_SEPARATOR.'classes', $initialize);<br /> }<br /> <br /> /**<br /> * 加载数据模型<br /> * @param string $classname 类名<br /> */<br /> public static function load_model($classname) {<br /> return self::_load_class($classname,'model');<br /> }<br /> <br /> /**<br /> * 加载类文件函数<br /> * @param string $classname 类名<br /> * @param string $path 扩展地址<br /> * @param intger $initialize 是否初始化<br /> */<br /> private static function _load_class($classname, $path = '', $initialize = 1) {<br /> static $classes = array();<br /> if (empty($path)) $path = 'libs'.DIRECTORY_SEPARATOR.'classes';<br /><br /> $key = md5($path.$classname);<br /> if (isset($classes[$key])) {<br /> if (!empty($classes[$key])) {<br /> return $classes[$key];<br /> } else {<br /> return true;<br /> }<br /> }<br /> if (file_exists(PC_PATH.$path.DIRECTORY_SEPARATOR.$classname.'.class.php')) {<br /> include PC_PATH.$path.DIRECTORY_SEPARATOR.$classname.'.class.php';<br /> $name = $classname;<br /> if ($my_path = self::my_path(PC_PATH.$path.DIRECTORY_SEPARATOR.$classname.'.class.php')) {<br /> include $my_path;<br /> $name = 'MY_'.$classname;<br /> }<br /> if ($initialize) {<br /> $classes[$key] = new $name;<br /> } else {<br /> $classes[$key] = true;<br /> }<br /> return $classes[$key];<br /> } else {<br /> return false;<br /> }<br /> }<br /> <br /> /**<br /> * 加载系统的函数库<br /> * @param string $func 函数库名<br /> */<br /> public static function load_sys_func($func) {<br /> return self::_load_func($func);<br /> }<br /> <br /> /**<br /> * 自动加载autoload目录下函数库<br /> * @param string $func 函数库名<br /> */<br /> public static function auto_load_func($path='') {<br /> return self::_auto_load_func($path);<br /> }<br /> <br /> /**<br /> * 加载应用函数库<br /> * @param string $func 函数库名<br /> * @param string $m 模型名<br /> */<br /> public static function load_app_func($func, $m = '') {<br /> $m = empty($m) && defined('ROUTE_M') ? ROUTE_M : $m;<br /> if (empty($m)) return false;<br /> return self::_load_func($func, 'modules'.DIRECTORY_SEPARATOR.$m.DIRECTORY_SEPARATOR.'functions');<br /> }<br /> <br /> /**<br /> * 加载插件类库<br /> */<br /> public static function load_plugin_class($classname, $identification = '' ,$initialize = 1) {<br /> $identification = empty($identification) && defined('PLUGIN_ID') ? PLUGIN_ID : $identification;<br /> if (empty($identification)) return false;<br /> return pc_base::load_sys_class($classname, 'plugin'.DIRECTORY_SEPARATOR.$identification.DIRECTORY_SEPARATOR.'classes', $initialize);<br /> }<br /> <br /> /**<br /> * 加载插件函数库<br /> * @param string $func 函数文件名称<br /> * @param string $identification 插件标识<br /> */<br /> public static function load_plugin_func($func,$identification) {<br /> static $funcs = array();<br /> $identification = empty($identification) && defined('PLUGIN_ID') ? PLUGIN_ID : $identification;<br /> if (empty($identification)) return false;<br /> $path = 'plugin'.DIRECTORY_SEPARATOR.$identification.DIRECTORY_SEPARATOR.'functions'.DIRECTORY_SEPARATOR.$func.'.func.php';<br /> $key = md5($path);<br /> if (isset($funcs[$key])) return true;<br /> if (file_exists(PC_PATH.$path)) {<br /> include PC_PATH.$path;<br /> } else {<br /> $funcs[$key] = false;<br /> return false;<br /> }<br /> $funcs[$key] = true;<br /> return true;<br /> }<br /> <br /> /**<br /> * 加载插件数据模型<br /> * @param string $classname 类名<br /> */<br /> public static function load_plugin_model($classname,$identification) {<br /> $identification = empty($identification) && defined('PLUGIN_ID') ? PLUGIN_ID : $identification;<br /> $path = 'plugin'.DIRECTORY_SEPARATOR.$identification.DIRECTORY_SEPARATOR.'model';<br /> return self::_load_class($classname,$path);<br /> }<br /> <br /> /**<br /> * 加载函数库<br /> * @param string $func 函数库名<br /> * @param string $path 地址<br /> */<br /> private static function _load_func($func, $path = '') {<br /> static $funcs = array();<br /> if (empty($path)) $path = 'libs'.DIRECTORY_SEPARATOR.'functions';<br /> $path .= DIRECTORY_SEPARATOR.$func.'.func.php';<br /> $key = md5($path);<br /> if (isset($funcs[$key])) return true;<br /> if (file_exists(PC_PATH.$path)) {<br /> include PC_PATH.$path;<br /> } else {<br /> $funcs[$key] = false;<br /> return false;<br /> }<br /> $funcs[$key] = true;<br /> return true;<br /> }<br /> <br /> /**<br /> * 加载函数库<br /> * @param string $func 函数库名<br /> * @param string $path 地址<br /> */<br /> private static function _auto_load_func($path = '') {<br /> if (empty($path)) $path = 'libs'.DIRECTORY_SEPARATOR.'functions'.DIRECTORY_SEPARATOR.'autoload';<br /> $path .= DIRECTORY_SEPARATOR.'*.func.php';<br /> $auto_funcs = glob(PC_PATH.DIRECTORY_SEPARATOR.$path);<br /> if(!empty($auto_funcs) && is_array($auto_funcs)) {<br /> foreach($auto_funcs as $func_path) {<br /> include $func_path;<br /> }<br /> }<br /> }<br /> /**<br /> * 是否有自己的扩展文件<br /> * @param string $filepath 路径<br /> */<br /> public static function my_path($filepath) {<br /> $path = pathinfo($filepath);<br /> if (file_exists($path['dirname'].DIRECTORY_SEPARATOR.'MY_'.$path['basename'])) {<br /> return $path['dirname'].DIRECTORY_SEPARATOR.'MY_'.$path['basename'];<br /> } else {<br /> return false;<br /> }<br /> }<br /> <br /> /**<br /> * 加载配置文件<br /> * @param string $file 配置文件<br /> * @param string $key 要获取的配置荐<br /> * @param string $default 默认配置。当获取配置项目失败时该值发生作用。<br /> * @param boolean $reload 强制重新加载。<br /> */<br /> public static function load_config($file, $key = '', $default = '', $reload = false) {<br /> static $configs = array();<br /> if (!$reload && isset($configs[$file])) {<br /> if (empty($key)) {<br /> return $configs[$file];<br /> } elseif (isset($configs[$file][$key])) {<br /> return $configs[$file][$key];<br /> } else {<br /> return $default;<br /> }<br /> }<br /> $path = CACHE_PATH.'configs'.DIRECTORY_SEPARATOR.$file.'.php';<br /> if (file_exists($path)) {<br /> $configs[$file] = include $path;<br /> }<br /> if (empty($key)) {<br /> return $configs[$file];<br /> } elseif (isset($configs[$file][$key])) {<br /> return $configs[$file][$key];<br /> } else {<br /> return $default;<br /> }<br /> }<br />}
------解决思路----------------------
默认路由设置:caches/configs/route.php 'default'=>array('m'=>'content', 'c'=>'index', 'a'=>'init'),
执行流程:base.php -> m=content -> c=index -> a=init
路径:phpcms/modules/content/index.php 里面的 function init()

“你的组织要求你更改PIN消息”将显示在登录屏幕上。当在使用基于组织的帐户设置的电脑上达到PIN过期限制时,就会发生这种情况,在该电脑上,他们可以控制个人设备。但是,如果您使用个人帐户设置了Windows,则理想情况下不应显示错误消息。虽然情况并非总是如此。大多数遇到错误的用户使用个人帐户报告。为什么我的组织要求我在Windows11上更改我的PIN?可能是您的帐户与组织相关联,您的主要方法应该是验证这一点。联系域管理员会有所帮助!此外,配置错误的本地策略设置或不正确的注册表项也可能导致错误。即

Windows11将清新优雅的设计带到了最前沿;现代界面允许您个性化和更改最精细的细节,例如窗口边框。在本指南中,我们将讨论分步说明,以帮助您在Windows操作系统中创建反映您的风格的环境。如何更改窗口边框设置?按+打开“设置”应用。WindowsI转到个性化,然后单击颜色设置。颜色更改窗口边框设置窗口11“宽度=”643“高度=”500“>找到在标题栏和窗口边框上显示强调色选项,然后切换它旁边的开关。若要在“开始”菜单和任务栏上显示主题色,请打开“在开始”菜单和任务栏上显示主题

默认情况下,Windows11上的标题栏颜色取决于您选择的深色/浅色主题。但是,您可以将其更改为所需的任何颜色。在本指南中,我们将讨论三种方法的分步说明,以更改它并个性化您的桌面体验,使其具有视觉吸引力。是否可以更改活动和非活动窗口的标题栏颜色?是的,您可以使用“设置”应用更改活动窗口的标题栏颜色,也可以使用注册表编辑器更改非活动窗口的标题栏颜色。若要了解这些步骤,请转到下一部分。如何在Windows11中更改标题栏的颜色?1.使用“设置”应用按+打开设置窗口。WindowsI前往“个性化”,然

您是否在Windows安装程序页面上看到“出现问题”以及“OOBELANGUAGE”语句?Windows的安装有时会因此类错误而停止。OOBE表示开箱即用的体验。正如错误提示所表示的那样,这是与OOBE语言选择相关的问题。没有什么可担心的,你可以通过OOBE屏幕本身的漂亮注册表编辑来解决这个问题。快速修复–1.单击OOBE应用底部的“重试”按钮。这将继续进行该过程,而不会再打嗝。2.使用电源按钮强制关闭系统。系统重新启动后,OOBE应继续。3.断开系统与互联网的连接。在脱机模式下完成OOBE的所

任务栏缩略图可能很有趣,但它们也可能分散注意力或烦人。考虑到您将鼠标悬停在该区域的频率,您可能无意中关闭了重要窗口几次。另一个缺点是它使用更多的系统资源,因此,如果您一直在寻找一种提高资源效率的方法,我们将向您展示如何禁用它。不过,如果您的硬件规格可以处理它并且您喜欢预览版,则可以启用它。如何在Windows11中启用任务栏缩略图预览?1.使用“设置”应用点击键并单击设置。Windows单击系统,然后选择关于。点击高级系统设置。导航到“高级”选项卡,然后选择“性能”下的“设置”。在“视觉效果”选

在Windows11上的显示缩放方面,我们都有不同的偏好。有些人喜欢大图标,有些人喜欢小图标。但是,我们都同意拥有正确的缩放比例很重要。字体缩放不良或图像过度缩放可能是工作时真正的生产力杀手,因此您需要知道如何对其进行自定义以充分利用系统功能。自定义缩放的优点:对于难以阅读屏幕上的文本的人来说,这是一个有用的功能。它可以帮助您一次在屏幕上查看更多内容。您可以创建仅适用于某些监视器和应用程序的自定义扩展配置文件。可以帮助提高低端硬件的性能。它使您可以更好地控制屏幕上的内容。如何在Windows11

屏幕亮度是使用现代计算设备不可或缺的一部分,尤其是当您长时间注视屏幕时。它可以帮助您减轻眼睛疲劳,提高易读性,并轻松有效地查看内容。但是,根据您的设置,有时很难管理亮度,尤其是在具有新UI更改的Windows11上。如果您在调整亮度时遇到问题,以下是在Windows11上管理亮度的所有方法。如何在Windows11上更改亮度[10种方式解释]单显示器用户可以使用以下方法在Windows11上调整亮度。这包括使用单个显示器的台式机系统以及笔记本电脑。让我们开始吧。方法1:使用操作中心操作中心是访问

Windows上的激活过程有时会突然转向显示包含此错误代码0xc004f069的错误消息。虽然激活过程已经联机,但一些运行WindowsServer的旧系统可能会遇到此问题。通过这些初步检查,如果这些检查不能帮助您激活系统,请跳转到主要解决方案以解决问题。解决方法–关闭错误消息和激活窗口。然后,重新启动计算机。再次从头开始重试Windows激活过程。修复1–从终端激活从cmd终端激活WindowsServerEdition系统。阶段–1检查Windows服务器版本您必须检查您使用的是哪种类型的W


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

記事本++7.3.1
好用且免費的程式碼編輯器

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),