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