原文:http://blog.csdn.net/dongnanyanhai/article/details/7561567
最近想建一個網站,試了很多CMS,有dedeCMS 及PHPCMS 等,無奈功能都太強,雖然都有很大自由可以做二次開發,但是學習這些CMS二次開發的成本,比自己制定一個剛好滿足自己需要的還要大!猶豫許久,昨晚才徹底決定放棄實用CMS!
今天上班不用乾活,無奈,花一個下午看了LazyPHP3的代碼!
LazyPHP3是一個小巧的PHP MVC框架,由新浪 @easy 主導的一個項目,可以在一般的PHP主機上使用,也支援新浪雲計算平台,LP只包含一個FrontController+Layout系統+20個常用函數,非常容易就可以掌握,當然,對初學者而言,這個框架最鬱悶的估計就是缺少實例了。
LazyPHP3詳細簡介請查看:http://ftqq.com/lazyphp/
LazyPHP3的下載地址在GitHub :https://github.com/easychen/LazyPHP3的下載地址在GitHub :https://github.com/easychen/LazyPHP 打開後直接下載。
專案文件及功能如下:
│
index.php
//LazyPHP說明文件,Markdown格式
│
app.config.php
//專案設定檔
db.config.php //專案資料庫設定檔
├─ controller //專案邏輯控制所在資料夾
default
.class.php 項目中///php 項目中/////////////項目項目預設控制器12
│
13
├─lib //專案功能庫
14│
app.function.php //函式庫
│
16
16
//專案在地化配置
🎜🎜 🎜🎜🎜🎜🎜
│
README
23
25
/JSUnit及PHPUnit測試框架文件(詳細文件清單略)
└─_lp //LazyPHP3框架
│
st.init.php //可能是SAE版框架的入口 │
32 ├─core //框架核心
34
│ core.config.php //框架設定檔
│
│
37 │
│ core.class.php //框架邏輯控制類別
│
│
//核心函式庫
41 │
│ db.function.php //資料庫操作函數
│
│ db.sae.function.php //sae資料庫運算子 │
│
46
│
47
└─view
//框架預設範本(詳細檔案清單略)
在這裡先要強調一點,我們從GitHub網站上所下載的這些文件,其實是一個基於LazyPHP3框架寫出來的網站,將這些文件放到PHP伺服器就可以直接運行了,而LP3框架的核心檔案在則是在這個專案的「_lp」資料夾內!
現在,我們來看看這個基於LazyPHP的網站是如何運作的,先從網站的入口(根目錄下的index.php)開始: index.php的主要程式碼如下:
🎜/**&*/🎜🎜🎜🎜
2define( 'DS' ,
DIRECTORY_SEPARATOR ); //DIRECTORY_SEPARATOR是PHP裡的內建指令,用來解決Win與Linux下的路徑區分問題
🜎 define( ' AROOT'
,
dirname( __FILE__ )
. DS );//這裡定義的AROOT是網站所在根目錄,而不是LP框架所在根目錄
5//ini_set('include_path',
dirname( __FILE__ ) . DS .'_lp' ); //
6include_once( '_lp'( '_lp'.DS
.'lp.init.php'
);
//載入LP框架的_lp文件夾內的lp.init.php檔案
在定義網站根目錄地址給常量AROOT後,隨即載入LazyPHP3框架文件初始化文件. lp.init.php檔案主要做了4件事: 1、定義:定義框架根目錄、框架核心目錄,並設定PHP報錯等級:
(
!defined(
'AROOT')
) die('NO
AROOT!');
02如果(
!定義('DS')
) 定義( 'DS' ,
DIRECTORY_SEPARATOR );