4.2.目录结构

更新时间:2023-10-10 18:43:20 作者:源小印 48

Contracts 应用接口

用于应用与应用之间的调用调用方法统一使用app(yxy-接口名)->方法名()应用间接口名称建议不要重复否则可能造成冲突报错调用方法支持全局调用app目录下所有php文件中都可进行调用包括前台blade.php视图文件)。开发者可按照应用文件结构创建自定义应用包详见自定义应用

注意请勿删除系统应用删除后系统无法正常运行

Controllers 应用控制器

路由接口实现文件存放于此目录下

database/migrations 数据库表操作文件

数据库表或表字段创建更新删除文件

Middlewares 应用中间件

路由与控制器之间的方法用于处理进入应用控制器之前的一些权限或其他判断操作

//路由增加中间件方法示例:

Route::middleware('xxx');

//控制器中调用中间件示例:

public function __construct(){

  $this->middleware('xxx');

}

 

Models 数据库模型

每个数据库表都有一个对应的Model「模型」,用于与该表进行交互模型允许您查询表中的数据,以及向表中修改或插入新记录。

Providers 应用安装更新文件存放

InstallServiceProvider.php安装文件应用安装时自动调用文件内boot()方法

UpdateServiceProvider.php更新文件应用安装时自动调用文件内boot()方法

 

Requests 请求验证

存放路由访问应用控制器方法之前请求参数验证文件

Routes 应用路由

此目录下所有路由文件都会自动引入并生效推荐用以下格式进行路由文件命名

前台路由文件web.php

后台路由文件admin.php

api路由文件api.php

Services 应用接口的实现控制器通用实现方法

Contracts 目录下定义的接口文件后必须在Services目录下创建同接口名称相同的Service文件并在文件中定义接口的实现方法

例如接口 Contracts/upload.php  实现 Services/uploadService.php

此目录下的文件除了用于应用接口的实现也可用于在一个方法需重复调用时新建一个Service文件并在文件中添加方法后使用app(‘文件名’)->方法名() 进行调用

例如app(‘UploadService’)->uploadFile()

Views 应用视图

后台前端文件存放目录可参考laravel模板机制进行开发

Trait 方法复用

在控制器或服务文件中引入复用文件使用$this->方法名()可调用复用方法

例如

//引入复用文件

use TaskTrait;

public function test(){

//使用复用方法

  $this->getTaskTitle();

}