从零开始打造自己的PHP框架——第0章

文章目录
  1. 1. 前言
  2. 2. 框架运行流程
  3. 3. helloworld
    1. 3.1. 集成环境
    2. 3.2. 项目结构
    3. 3.3. index.php
    4. 3.4. function.php
    5. 3.5. vk.php
    6. 3.6. 测试访问
  4. 4. 源码分享
  5. 5. 书签

前言

使用过thinkphp和yii,涉猎过shopnc。市场上已经有了这么多好的框架,为什么还要开发自己的框架?答:假装大神。为了在装神的道路上走的更远,小编决定开发一个自己的php框架,命名为vkphp。

框架运行流程

1、入口文件

2、定义常量

3、引入函数库

4、自动加载类

5、启动框架

6、路由解析

7、加载控制器

8、返回结果

helloworld

集成环境

集成开发环境使用laragon,在www目录下新建vkphp项目目录。

项目结构

1
2
3
4
5
6
7
8
9
10
vkphp
│ index.php
│ README.md

├─app
└─core
│ vk.php

└─common
function.php

index.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
/*
入口文件
1、定义常量
2、加载函数库
3、启动框架
*/
define('VKPHP',realpath('./')); //获取项目所在根目录
define('CORE',VKPHP.'/core'); //核心文件所在目录
define('APP',VKPHP.'/app'); //应用文件所在目录

define('DEBUG',true); //是否开启调试

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

1
2
3
4
5
6
7
8
9
10
<?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

1
2
3
4
5
6
7
8
9
<?php

namespace core;

class vk{
public function run(){
p('helloworld');
}
}

测试访问

启动laragon,在浏览器中访问 http://vkphp.dev 或者 http://vkphp.dev/index.php ,即可看到“helloworld”。

源码分享

https://github.com/voidking/vkphp/releases/tag/v1.0.0

书签

从零开始打造自己的PHP框架