摘要:內(nèi)包含框架的核心文件。在目錄中,新建,內(nèi)容如下判斷文件是否存在判斷配置是否存在沒有配置項找不到配置文件找不到配置文件配置類在目錄中,新建配置文件和。使用修改目錄中的和。源碼分享書簽從零開始打造自己的框架
目標
本篇,我們的目標有三個:
調(diào)整項目結(jié)構(gòu)
加載配置類
添加日志類
原文地址:http://www.voidking.com/2017/...
調(diào)整項目結(jié)構(gòu)vkphp ├─app │ ├─ctrl │ ├─model │ ├─smarty │ └─view ├─config ├─core ├─lib ├─log └─public
app內(nèi)包含控制器、數(shù)據(jù)庫model、smarty模板、普通渲染模板。
config內(nèi)包含全局配置文件。
core內(nèi)包含框架的核心文件。
lib內(nèi)包含第三方庫。
log內(nèi)存放日志文件。
public包含靜態(tài)資源文件。
加載配置類我們之前的路由配置、數(shù)據(jù)庫配置都是寫在程序中的,修改起來不方便,下面我們把這些配置都放在配置文件中。
conf.php在core目錄中,新建conf.php,內(nèi)容如下:
配置類在config目錄中,新建配置文件route_config.php和db_config.php。
"index", "ACTION"=>"index" );"mysql:host=localhost;dbname=vkphp", "USER"=>"root", "PASSWD"=>"" );使用修改core目錄中的route.php和db.php。
ctrl = coreconf::get("CTRL","route_config"); $this->action = coreconf::get("ACTION","route_config"); // 其他不變 }getMessage(); } } }添加日志類 log.php在core目錄,添加log.php文件,內(nèi)容如下:
使用在indexCtrl.php中,添加:
public function log(){ $log = new corelog(); $log->log("this is log","log_test"); echo "成功寫入日志"; }訪問 http://vkphp.dev/index/log ,即可在log目錄下生成日志文件。
如果時間不正確,就在php.ini中搜索 date.timezone ,然后修改時區(qū)為:data.timezone="Asia/Shanghai"或者,直接在程序代碼中使用函數(shù)ini_set("date.timezone","Asia/Shanghai"); ,或者date_default_timezone_set(‘Asia/Shanghai"); 。
源碼分享https://github.com/voidking/v...
書簽從零開始打造自己的PHP框架
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/25879.html
摘要:前言第到章,我們完成了一個屬于自己的框架,麻雀雖小五臟俱全。接下來,我們使用框架開發(fā)一個迷你項目書簽收藏。內(nèi)包含框架的核心文件。源碼分享書簽從零開始打造自己的框架與之詳解 前言 第0到5章,我們完成了一個屬于自己的php框架,麻雀雖小五臟俱全。接下來,我們使用vkphp框架開發(fā)一個迷你項目——書簽收藏。在開發(fā)過程中,也許會遇到很多問題,這時候我們就可以對框架進行調(diào)整,使之更加完善。 系...
摘要:市場上已經(jīng)有了這么多好的框架,為什么還要開發(fā)自己的框架答假裝大神。為了在裝神的道路上走的更遠,小編決定開發(fā)一個自己的框架,命名為。源碼分享書簽從零開始打造自己的框架 前言 使用過thinkphp和yii,涉獵過shopnc。市場上已經(jīng)有了這么多好的框架,為什么還要開發(fā)自己的框架?答:假裝大神。為了在裝神的道路上走的更遠,小編決定開發(fā)一個自己的php框架,命名為vkphp。 原文地址:h...
摘要:本篇,我們就在自己的項目中使用來進行依賴管理。輸入,即可安裝依賴到目錄中,并且自動生成和。安裝依賴,提示從提示可以看出,讀取的是中的依賴,而不是最新的。訪問,正常工作。源碼分享書簽從零開始打造自己的框架中文網(wǎng)中文文檔 Composer Composer 是 PHP5.3以上 的一個依賴管理工具。它允許你申明項目所依賴的代碼庫,它會在你的項目中為你安裝他們。Composer 不是一個包管...
摘要:命名空間的作用解決重名問題。不同的命名空間中,可以存在相同類名和函數(shù)名。完全限定名稱,或包含了全局前綴操作符的名稱,例如,或。源碼分享書簽從零開始打造自己的框架使用命名空間基礎(chǔ)使用命名空間后備全局函數(shù)常量基礎(chǔ)安裝進階安裝 目標 本篇,我們來實現(xiàn)加載控制器、數(shù)據(jù)查詢和頁面渲染。 原文地址:http://www.voidking.com/2017/... 加載控制器 控制器 在app目錄下...
摘要:回調(diào)函數(shù)拿到,然后進行文件的引入。支持訪問地址,無法正常獲取控制器方法和參數(shù),修改如下路由控制隱藏獲取中的控制器和方法獲取中的參數(shù)去掉項目名稱去掉源碼分享書簽從零開始打造自己的框架檔案引入路徑問題 目標 本篇,我們來實現(xiàn)類庫自動加載,以及路由解析。 原文地址:http://www.voidking.com/2017/... 類庫自動加載 常規(guī)加載 常規(guī)加載一般使用include或者re...
閱讀 982·2023-04-25 23:55
閱讀 2710·2023-04-25 14:13
閱讀 3297·2019-08-26 13:47
閱讀 2972·2019-08-23 18:16
閱讀 628·2019-08-23 17:20
閱讀 3228·2019-08-23 16:55
閱讀 3146·2019-08-22 15:39
閱讀 3196·2019-08-20 18:10