前言
使用過thinkphp和yii,涉獵過shopnc。市場上已經(jīng)有了這么多好的框架,為什么還要開發(fā)自己的框架?答:假裝大神。為了在裝神的道路上走的更遠(yuǎn),小編決定開發(fā)一個(gè)自己的php框架,命名為vkphp。
框架運(yùn)行流程
1、入口文件
2、定義常量
3、引入函數(shù)庫
4、自動(dòng)加載類
5、啟動(dòng)框架
6、路由解析
7、加載控制器
8、返回結(jié)果
helloworld
集成環(huán)境
集成開發(fā)環(huán)境使用laragon,在www目錄下新建vkphp項(xiàng)目目錄。
項(xiàng)目結(jié)構(gòu)
vkphp
│ index.php
│ README.md
│
├─app
└─core
│ vk.php
│
└─common
function.php
index.php
<?php
/*
入口文件
1、定義常量
2、加載函數(shù)庫
3、啟動(dòng)框架
*/
define('VKPHP',realpath('./')); //獲取項(xiàng)目所在根目錄
define('CORE',VKPHP.'/core'); //核心文件所在目錄
define('APP',VKPHP.'/app'); //應(yīng)用文件所在目錄
define('DEBUG',true); //是否開啟調(diào)試
if(DEBUG){
ini_set('display_errors', 'On');
}else{
ini_set('display_errors', 'Off');
}
include CORE.'/common/function.php';
//p(VKPHP);
include CORE.'/vk.php';
\core\vk::run();
function.php
<?php
function p($var){
if(is_null($var)){
var_dump(NULL);
}else if(is_bool($var)){
var_dump($var);
}else{
echo '<p>'. print_r($var, true) .'</p>';
}
}
vk.php
<?php
namespace core;
class vk{
public function run(){
p('helloworld');
}
}
測試訪問
啟動(dòng)laragon,在瀏覽器中訪問 http://vkphp.dev 或者 http://vkphp.dev/index.php ,即可看到“helloworld”。
源碼分享
https://github.com/voidking/vkphp/releases/tag/v1.0.0