文档/项目结构

项目结构

HLEB2框架实现了特定的项目目录结构,从而维持了与开发者的协议,规定了在哪些目录中存储框架所需的设置和类。同时,它还允许开发者迅速理解基于HLEB2框架的新项目的文件夹结构。

以下图示展示了安装框架后的新项目文件夹:

app   - 应用代码文件夹
     Bootstrap   - 管理框架所需的类
     ⊢ Events   - 针对特定事件的操作
     |      ⊢ControllerEvent.php   - 控制器初始化时
     |      ⊢MiddlewareEvent.php   - 中间件初始化时
     |      ⊢ModuleEvent.php   - 模块控制器调用时
     |      ⊢PageEvent.php   - '页面'控制器调用时
     |      ⊢TaskEvent.php   - 执行命令时
     ⊢ Http
     |      ⊢ErrorContent.php   - HTTP错误的内容
     |   ⊢BaseContainer.php   - 容器类
     |   ⊢ContainerFactory.php   - 管理容器中的服务
     |   ⊢ContainerInterface.php   - 容器接口
     Commands   - 包含命令类的文件夹
     |  ⊢DefaultTask.php   - 创建命令的空模板
     |  ⊢RotateLogs.php   - 用于日志轮换的命令
     Controllers   - 控制器类文件夹
     |  ⊢DefaultController.php   - 创建控制器的空模板
     Middlewares   - 中间件文件夹
     |  ⊢DefaultMiddleware.php   - 创建中间件的空模板
     Models
        ⊢DefaultModel.php   - 创建模型的空模板
config   - 配置文件
    ⊢common.php   - 通用设置
    ⊢database.php   - 数据库设置
    ⊢main.php   - 模块可重写的设置
    ⊢system.php   - 系统设置
public   - 公共文件夹,需指向该目录的网络服务器
     css   - 公共样式文件
     images   - 公共图像文件
     js   - 公共脚本文件
     ⊢.htaccess   - 服务器配置
     ⊢favicon.ico
     ⊢index.php   - 网络服务器入口点
     ⊢robots.txt
resources   - 项目自定义资源
     views   - 视图文件(模板)
        ⊢default.php   - 框架演示模板
        ⊢error.php   - 错误页面模板
routes   - 路由文件夹
     ⊢map.php
storage   - 储存文件夹,包含辅助文件
     logs   - 日志文件夹
vendor   - 已安装的库文件夹
     phphleb   - 框架库文件夹
.gitignore   - Git 文件可见性管理
.hgignore   - Mercurial 文件可见性管理
composer.json   - Composer 设置
console   - 控制台命令入口点
readme.md   - 框架说明

图表中列出的文件是与框架一起安装的,属于其结构的一部分,但旨在由开发者进行修改和填充。 此外,开发者可以根据此结构进一步开发项目,添加新的类、文件夹、库等。

与之前版本的框架不同,现在有一个新的文件夹 Bootstrap,其中包含与核心框架过程相关的开发类。
通过这些类,框架的操作摆脱了不必要的抽象;以前,这些类是从配置中创建的,而现在开发者可以根据需要直接修改它们。


#app

app 文件夹用于基于框架的应用程序代码。


#Bootstrap

该目录包含用于创建容器和服务的类,以及作为可编辑类和框架本身部分的其他类。


#Events

包含负责处理框架请求处理过程中发生的特定事件的类。


#Http

包含类 ErrorContent.php 用于分配在 HTTP 错误时返回的自定义内容。


#Commands

这里是从控制台或直接从代码执行的命令。 可以基于命令模板 DefaultTask.php 创建自定义命令。 框架的内置命令则包含在框架代码中。


#Controllers

框架控制器的文件夹。创建控制器的模板是文件 DefaultController.php

控制器是 MVC 架构的一部分(对网页来说是 Action-Domain-Responder架构),负责进一步管理已经由路由器识别的请求处理,但不应包含业务逻辑。


#Middlewares

该目录用于中间件控制器,它在控制器之前或之后执行,该控制器在一个路由中只能使用一次。


#Models

文件夹用于模型类。
模型是 MVC 架构的另一部分(对网页来说是 Action-Domain-Responder架构),负责数据。


#config

配置由包含框架设置的 PHP 文件组成。


#public

公共目录。包含文件 index.php 作为网络服务器的入口点。


#resources

用于存放各种辅助文件。
这里可以存放网页或邮件的模板,以及用于编译样式和脚本的源文件等。


#views

视图是 MVC 架构的一部分(对网页来说是 Action-Domain-Responder 架构)。 这个文件夹用于网页模板。 这里也可以存放 Twig 模板。


#routes

路由是任何网络框架的重要部分。 这个文件夹包含文件 map.php,其中存储着框架的路由图。


#storage

框架运行过程中生成的辅助文件。
对该文件夹的访问权限应允许网络服务器和开发者在终端中进行完全访问。


#logs

以标准化格式的日志和错误报告。


#console

这个没有扩展名的文件包含 PHP 代码并执行控制台命令。 例如:

$php console --version

显示有关框架当前版本的信息。

框架配置 在 PHP 服务器上运行

页面翻译:chatgpt 4-o
返回顶部