|
4 年 前 | |
---|---|---|
application | 4 年 前 | |
daswork | 4 年 前 | |
public | 4 年 前 | |
.gitignore | 4 年 前 | |
.htaccess | 4 年 前 | |
LICENSE | 4 年 前 | |
README.md | 4 年 前 | |
composer.json | 4 年 前 | |
start.bat | 4 年 前 | |
start.sh | 4 年 前 |
从零建MVC框架
接收,打印参数想怎么弄。如 获取配置文件的方法,根据传过来的参数 构想
一般都是先判断文件是否存在。存在就该include就include,该new就new。然后做存到属性中(做缓存)
主要是调用流程:都什么需要放到run方法中
初始的目录结构如下:
www WEB部署目录(或者子目录)
├─application 应用目录(可以更改)
│ ├─module_name 模块目录
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ └─view 视图目录
├─daswork 框架系统目录
│ ├─main 框架类库目录
│ │ ├─common 公共函数库
│ │ ├─db 数据驱动库
│ │ ├─response 响应类库
│ │ ├─App.php 项目运行类
│ │ ├─Config.php 设置类
│ │ ├─Controller.php 控制器类
│ │ ├─Loader.php 加载类
│ │ ├─Model.php 模型类
│ │ ├─Response.php 响应类
│ │ ├─Route.php 路由类
│ │ ├─Session.php session类
│ │ ├─SqliteModel.php Sqlite类(后面会合并移数据驱动库)
│ │ └─View.php 视图类
│ ├─config.php 框架惯例配置文件
│ ├─helper.php 助手函数文件
│ ├─service.php PHP web service 处理url, 实现'mod_rewrite'功能
│ └─start.php 框架入口文件
├─public WEB目录(对外访问目录)
│ ├─favicon.ico 图标
│ └─index.php 入口文件
├─extend 扩展类库目录
├─runtime 应用的运行时目录(可写,可定制)
├─vendor 第三方类库目录(Composer依赖库)
├─build.php 自动生成定义文件(参考)
├─composer.json composer 定义文件
├─LICENSE.txt 授权说明文件
├─README.md README 文件
├─start.bat 项目启动脚本(win)
├─start.sh 项目启动脚本(unix)
项目可以使用php 内置的web service, 需要 path_info, 参考 laravel 的方法
$uri = urldecode( parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) ); // 这个文件允许我们从内置 PHP web 服务器中模拟 Apache 的 "mod_rewrite" 功能. // 这提供了一种测试 Laravel 应用程序的便捷方法, // 而无需在此安装"真正的" web 服务器软件。 if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) { return false; } require_once __DIR__.'/public/index.php';
启动脚本
cd ./public php -S localhost:8000 ../daswork/service.php
主要是 run 方法: 新建路由对象 找到控制器 执行方法 输出结果
graph LR
A[方形] -->B(圆角)
B --> C{条件a}
C -->|a=1| D[结果1]
C -->|a=2| E[结果2]
F[横向流程图]