国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁(yè) 後端開發(fā) php教程 phpcms首頁(yè)的html模板是怎么加載的呢

phpcms首頁(yè)的html模板是怎么加載的呢

Jun 13, 2016 pm 12:14 PM
directory nbsp path return

phpcms首頁(yè)的html模板是如何加載的呢
怎么看也沒(méi)有看出來(lái),它的入口文件是如何加載html首頁(yè)模板的.
有一個(gè)basee.php類,好象負(fù)責(zé)加載的,但是里面有點(diǎn)看不懂它怎么載的呢

<?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 />//主機(jī)協(xié)議<br />define('SITE_PROTOCOL', isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://');<br />//當(dāng)前訪問(wèn)的主機(jī)名<br />define('SITE_URL', (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ''));<br />//來(lái)源<br />define('HTTP_REFERER', isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '');<br /><br />//系統(tǒng)開始時(shí)間<br />define('SYS_START_TIME', microtime());<br /><br />//加載公用函數(shù)庫(kù)<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 />//設(shè)置本地時(shí)差<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 />//輸出頁(yè)面字符集<br />header('Content-type: text/html; charset='.CHARSET);<br /><br />define('SYS_TIME', time());<br />//定義網(wǎng)站根路徑<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 />//動(dòng)態(tài)程序路徑<br />define('APP_PATH',pc_base::load_config('system','app_path'));<br /><br />//應(yīng)用靜態(tài)文件路徑<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 />	 * 初始化應(yīng)用程序<br />	 */<br />	public static function creat_app() {<br />		return self::load_sys_class('application');<br />	}<br />	/**<br />	 * 加載系統(tǒng)類方法<br />	 * @param string $classname 類名<br />	 * @param string $path 擴(kuò)展地址<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 />	 * 加載應(yīng)用類方法<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 />	 * 加載數(shù)據(jù)模型<br />	 * @param string $classname 類名<br />	 */<br />	public static function load_model($classname) {<br />		return self::_load_class($classname,'model');<br />	}<br />		<br />	/**<br />	 * 加載類文件函數(shù)<br />	 * @param string $classname 類名<br />	 * @param string $path 擴(kuò)展地址<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 />	 * 加載系統(tǒng)的函數(shù)庫(kù)<br />	 * @param string $func 函數(shù)庫(kù)名<br />	 */<br />	public static function load_sys_func($func) {<br />		return self::_load_func($func);<br />	}<br />	<br />	/**<br />	 * 自動(dòng)加載autoload目錄下函數(shù)庫(kù)<br />	 * @param string $func 函數(shù)庫(kù)名<br />	 */<br />	public static function auto_load_func($path='') {<br />		return self::_auto_load_func($path);<br />	}<br />	<br />	/**<br />	 * 加載應(yīng)用函數(shù)庫(kù)<br />	 * @param string $func 函數(shù)庫(kù)名<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 />	 * 加載插件類庫(kù)<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 />	 * 加載插件函數(shù)庫(kù)<br />	 * @param string $func 函數(shù)文件名稱<br />	 * @param string $identification 插件標(biāo)識(shí)<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 />	 * 加載插件數(shù)據(jù)模型<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 />	 * 加載函數(shù)庫(kù)<br />	 * @param string $func 函數(shù)庫(kù)名<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 />	 * 加載函數(shù)庫(kù)<br />	 * @param string $func 函數(shù)庫(kù)名<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 />	 * 是否有自己的擴(kuò)展文件<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  默認(rèn)配置。當(dāng)獲取配置項(xiàng)目失敗時(shí)該值發(fā)生作用。<br />	 * @param boolean $reload 強(qiáng)制重新加載。<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 />}

------解決思路----------------------
默認(rèn)路由設(shè)置:caches/configs/route.php??'default'=>array('m'=>'content',?'c'=>'index',?'a'=>'init'),
執(zhí)行流程:base.php?->?m=content?->?c=index?->?a=init
路徑:phpcms/modules/content/index.php??里面的?function?init()?

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

Windows 11 上調(diào)整視窗邊框設(shè)定的方法:變更顏色和大小 Windows 11 上調(diào)整視窗邊框設(shè)定的方法:變更顏色和大小 Sep 22, 2023 am 11:37 AM

Windows11將清新優(yōu)雅的設(shè)計(jì)帶到了最前沿;現(xiàn)代介面可讓您個(gè)性化和更改最精細(xì)的細(xì)節(jié),例如視窗邊框。在本指南中,我們將討論逐步說(shuō)明,以協(xié)助您在Windows作業(yè)系統(tǒng)中建立反映您的風(fēng)格的環(huán)境。如何更改視窗邊框設(shè)定?按+開啟“設(shè)定”應(yīng)用程式。 WindowsI前往個(gè)人化,然後按一下顏色設(shè)定。顏色變更視窗邊框設(shè)定視窗11「寬度=」643「高度=」500「&gt;找到在標(biāo)題列和視窗邊框上顯示強(qiáng)調(diào)色選項(xiàng),然後切換它旁邊的開關(guān)。若要在「開始」功能表和工作列上顯示主題色,請(qǐng)開啟「在開始」功能表和工作列上顯示主題

解決方法:您的組織要求您更改 PIN 碼 解決方法:您的組織要求您更改 PIN 碼 Oct 04, 2023 pm 05:45 PM

「你的組織要求你更改PIN訊息」將顯示在登入畫面上。當(dāng)在使用基於組織的帳戶設(shè)定的電腦上達(dá)到PIN過(guò)期限制時(shí),就會(huì)發(fā)生這種情況,在該電腦上,他們可以控制個(gè)人設(shè)備。但是,如果您使用個(gè)人帳戶設(shè)定了Windows,則理想情況下不應(yīng)顯示錯(cuò)誤訊息。雖然情況並非總是如此。大多數(shù)遇到錯(cuò)誤的使用者使用個(gè)人帳戶報(bào)告。為什麼我的組織要求我在Windows11上更改我的PIN?可能是您的帳戶與組織相關(guān)聯(lián),您的主要方法應(yīng)該是驗(yàn)證這一點(diǎn)。聯(lián)絡(luò)網(wǎng)域管理員會(huì)有所幫助!此外,配置錯(cuò)誤的本機(jī)原則設(shè)定或不正確的登錄項(xiàng)目也可能導(dǎo)致錯(cuò)誤。即

Active Directory 使用者和電腦遺失 [以 3 種方式修復(fù)] Active Directory 使用者和電腦遺失 [以 3 種方式修復(fù)] Apr 20, 2023 pm 01:25 PM

ActiveDirectory使用者和電腦(ADUC)遺失是許多WindowsPro使用者報(bào)告的最令人沮喪的問(wèn)題之一。 ADUC是一個(gè)令人難以置信的MMC管理單元,它使管理員能夠管理MicrosoftActiveDirectory。但是,由於某種原因,它在Windows伺服器或Enterprise/Pro版本中缺失。讓我們深入了解它丟失的原因以及我們?nèi)绾涡迯?fù)它。 Windows11是否有ActiveDirectory? ActiveDirectory是任何想要管理遠(yuǎn)端

如何在 Windows 11 上變更標(biāo)題列顏色? 如何在 Windows 11 上變更標(biāo)題列顏色? Sep 14, 2023 pm 03:33 PM

預(yù)設(shè)情況下,Windows11上的標(biāo)題列顏色取決於您選擇的深色/淺色主題。但是,您可以將其變更為所需的任何顏色。在本指南中,我們將討論三種方法的逐步說(shuō)明,以更改它並個(gè)性化您的桌面體驗(yàn),使其具有視覺(jué)吸引力。是否可以更改活動(dòng)和非活動(dòng)視窗的標(biāo)題列顏色?是的,您可以使用「設(shè)定」套用變更活動(dòng)視窗的標(biāo)題列顏色,也可以使用登錄編輯程式變更非活動(dòng)視窗的標(biāo)題列顏色。若要了解這些步驟,請(qǐng)前往下一部分。如何在Windows11中變更標(biāo)題列的顏色? 1.使用「設(shè)定」應(yīng)用程式按+開啟設(shè)定視窗。 WindowsI前往“個(gè)人化”,然

Windows 11 上啟用或停用工作列縮圖預(yù)覽的方法 Windows 11 上啟用或停用工作列縮圖預(yù)覽的方法 Sep 15, 2023 pm 03:57 PM

工作列縮圖可能很有趣,但它們也可能分散注意力或煩人??紤]到您將滑鼠懸停在該區(qū)域的頻率,您可能無(wú)意中關(guān)閉了重要視窗幾次。另一個(gè)缺點(diǎn)是它使用更多的系統(tǒng)資源,因此,如果您一直在尋找一種提高資源效率的方法,我們將向您展示如何停用它。不過(guò),如果您的硬體規(guī)格可以處理它並且您喜歡預(yù)覽版,則可以啟用它。如何在Windows11中啟用工作列縮圖預(yù)覽? 1.使用「設(shè)定」應(yīng)用程式點(diǎn)擊鍵並點(diǎn)選設(shè)定。 Windows按一下系統(tǒng),然後選擇關(guān)於。點(diǎn)選高級(jí)系統(tǒng)設(shè)定。導(dǎo)航至“進(jìn)階”選項(xiàng)卡,然後選擇“效能”下的“設(shè)定”。在「視覺(jué)效果」選

OOBELANGUAGE錯(cuò)誤Windows 11 / 10修復(fù)中出現(xiàn)問(wèn)題的問(wèn)題 OOBELANGUAGE錯(cuò)誤Windows 11 / 10修復(fù)中出現(xiàn)問(wèn)題的問(wèn)題 Jul 16, 2023 pm 03:29 PM

您是否在Windows安裝程式頁(yè)面上看到「出現(xiàn)問(wèn)題」以及「OOBELANGUAGE」語(yǔ)句? Windows的安裝有時(shí)會(huì)因此類錯(cuò)誤而停止。 OOBE表示開箱即用的體驗(yàn)。正如錯(cuò)誤提示所表示的那樣,這是與OOBE語(yǔ)言選擇相關(guān)的問(wèn)題。沒(méi)有什麼好擔(dān)心的,你可以透過(guò)OOBE螢?zāi)槐旧淼钠猎]冊(cè)表編輯來(lái)解決這個(gè)問(wèn)題??焖傩迯?fù)–1.點(diǎn)選OOBE應(yīng)用底部的「重試」按鈕。這將繼續(xù)進(jìn)行該過(guò)程,而不會(huì)再打嗝。 2.使用電源按鈕強(qiáng)制關(guān)閉系統(tǒng)。系統(tǒng)重新啟動(dòng)後,OOBE應(yīng)繼續(xù)。 3.斷開系統(tǒng)與網(wǎng)際網(wǎng)路的連接。在脫機(jī)模式下完成OOBE的所

Windows 11 上的顯示縮放比例調(diào)整指南 Windows 11 上的顯示縮放比例調(diào)整指南 Sep 19, 2023 pm 06:45 PM

在Windows11上的顯示縮放方面,我們都有不同的偏好。有些人喜歡大圖標(biāo),有些人喜歡小圖標(biāo)。但是,我們都同意擁有正確的縮放比例很重要。字體縮放不良或圖像過(guò)度縮放可能是工作時(shí)真正的生產(chǎn)力殺手,因此您需要知道如何自訂以充分利用系統(tǒng)功能。自訂縮放的優(yōu)點(diǎn):對(duì)於難以閱讀螢?zāi)簧系奈淖值娜藖?lái)說(shuō),這是一個(gè)有用的功能。它可以幫助您一次在螢?zāi)簧喜榭锤鄡?nèi)容。您可以建立僅適用於某些監(jiān)視器和應(yīng)用程式的自訂擴(kuò)充功能設(shè)定檔??梢詭椭岣叩碗A硬體的效能。它使您可以更好地控制螢?zāi)簧系膬?nèi)容。如何在Windows11

10種在 Windows 11 上調(diào)整亮度的方法 10種在 Windows 11 上調(diào)整亮度的方法 Dec 18, 2023 pm 02:21 PM

螢?zāi)涣炼仁鞘褂矛F(xiàn)代計(jì)算設(shè)備不可或缺的一部分,尤其是當(dāng)您長(zhǎng)時(shí)間注視螢?zāi)粫r(shí)。它可以幫助您減輕眼睛疲勞,提高易讀性,並輕鬆有效地查看內(nèi)容。但是,根據(jù)您的設(shè)置,有時(shí)很難管理亮度,尤其是在具有新UI更改的Windows11上。如果您在調(diào)整亮度時(shí)遇到問(wèn)題,以下是在Windows11上管理亮度的所有方法。如何在Windows11上變更亮度[10種方式解釋]單一顯示器使用者可以使用下列方法在Windows11上調(diào)整亮度。這包括使用單一顯示器的桌上型電腦系統(tǒng)以及筆記型電腦。讓我們開始吧。方法1:使用操作中心操作中心是訪問(wèn)

See all articles