框架目录结构
优质
小牛编辑
147浏览
2023-12-01
首先介绍一下 herosphp/framework 的框架结构
herophp/framework 是 herosphp/app 的依赖,使用 composer 安装就好了
安装最新版
composer require 'herosphp/framework:*@latest'
src 框架根目录
|---- api API 服务模块
|---- bean bean模块
|---- cache 缓存模块
|---- core 内核模块
|---- exception 异常模块
|---- files 文件工具包
|---- filter 过滤器
|---- gmodel gmodel工具
|---- http http模块
|---- image 图片处理
|---- listener 监听器
|---- lock 同步锁
|---- model 模型层
|---- qrcode 二维码模块
|---- rsa RSA 加密模块
|---- session 会话
|---- string 字符串工具包
|---- utils 全局工具包
|---- web web工具包
|---- functions.core.php 框架全局函数
|---- Heros.const.php 框架常量
|---- BootStrap.php 框架启动文件
|---- Artisan.php 命令行启动文件
herosphp-app 的目录结构
static 静态资源目录
runtime 运行时生成的目录,包括缓存和session文件存储目录都在里面
vendor composer依赖安装目录
app 应用名称
|---- build 自动化构建的xml目录
|---- client 客户端任务目录
|---- configs 应用配置目录
|---- server.php 通用入口文件
|---- artisan.php artisan命令行入口文件
|---- index.php app入口文件
|---- phpunit.php 单元测试入口文件
|---- functions.php 全局函数
|---- modules 应用模块根目录
|-- demo 模块名称
|-- action 控制器目录
|-- service 服务层目录
|-- models model实体
|-- dao 数据库操作DAO
|-- template 模板目录
|-- tests 单元测试目录
|-- ModuleListener.php 模块生命周期监听器
|-- DefaultWebappListener.php 应用全局生命周期监听器
需要详细说明的几个目录和文件
1. server.php
通用的入口文件,也可以看做是应用的初始化程序,所有其他的入口文件(index.php, phpunit.php, artisan, api.php)都要包含 server.php
2. artisan
命令行工具的入口文件,提供各种强大的命令,让你通过几行命令创建web应用。如何只用请参考 Artisan命令详解
3. index.php
web 应用的入口程序,在配置nginx或者apache的是时候需要将所有web请求 转发到index.php
4. phpunit.php
单元测试入口文件,在配置单元测试的时候需要用到。配置单元测试
app/modules目录
modules
目录放置着你所有的开发模块,比如user, news, api等,每个模块的结构我们默认定义了action(控制器)
, service(服务层)
, template(模板)
, 后续我们会陆续具体讲到这些文件夹。
app/configs目录
configs
目录中包含了该应用所有的相关配置文档:
- env 跟环境相关的配置,app配置,数据库配置。包含了三个环境, dev(开发), test(测试), prod(生产)
- beans beans服务配置文件目录
- session.config.php session配置文档