【注意】最后更新于 February 20, 2021,文中内容可能已过时,请谨慎使用。
前言
制作一个极简版的 php
框架。串联一下 web
开发中需要注意的核心关键点,从零开始构建一个完整的系统,通过创建系统框架的过程,理解 web
开发中做核心的内容。
并不是所有功能都自己完成,而是大量使用开发包,由自己来组织整个框架
项目地址:https://github.com/ayuayue/php-frame
制作一个PHP简易框架(一)–准备工作
制作一个PHP简易框架(二)– 引入容器
制作一个PHP简易框架(三)– 信息调试
制作一个PHP简易框架(四)– 路由系统
制作一个PHP简易框架(五)– 响应
制作一个PHP简易框架(六)– 视图模板
制作一个PHP简易框架(七)– 路由及路径优化
制作一个PHP简易框架(八)– 配置中心
制作一个PHP简易框架(九)– ORM
制作一个PHP简易框架(十)– Session and Cookie
准备工作
- 创建单入口文件。
index.php
并进行简单输出。
1
2
|
<?php
var_dump('caoayu');
|
- 使用
php
内置 web
服务器启动一个 web
服务,端口自定义。
1
|
php -S localhost:9527 -t index.php # -t 为单文件路径,默认为当前目录下的 index.php,如果目录正确可以不加 -t 参数。
|
- 访问
localhost:9527
看到输出说明这个流程没有问题
- 引入
composer
并配置自动加载映射
创建 composer.json
文件,使用 psr-4
标准配置自动加载,并创建 app
目录。
1
2
3
4
5
6
7
|
{
"autoload": {
"psr-4": {
"App\\": "app"
}
}
}
|
- 生成自动加载文件,会生成
vendor
目录及自动加载文价。自动加载系列文章
1
|
composer dump-autoload -o # -o 优化参数
|
- 创建
bootstrap
目录,并在此目录下创建 app.php
1
2
3
4
|
# app.php
<?php
require_once __DIR__ . '/../vendor/autoload.php';
|
- 创建
public
目录,并将入口文件 index.php
放入到此目录中,该目录主要存放一些公共的资源,并编辑 index.php
,实现入口文件的自动加载。
1
2
3
4
|
# index.php
<?php
require_once __DIR__ . '/../bootstarp/app.php';
var_dump('caoayu');
|
- 重启
web
服务,因为框架入口文件位置已经更改
1
2
|
# 在项目根目录下
php -S localhost:9527 -t public
|
- 新建一个数据库用来保存数据。
到此为止,准备工作就算完成了。项目会同步到我的 github
上。
仓库地址