4.2.目录结构

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

l Contracts 应用接口

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

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

l Controllers 应用控制器

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

l database/migrations 数据库表操作文件

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

l Middlewares 应用中间件

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

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

Route::middleware('xxx');

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

public function __construct(){

  $this->middleware('xxx');

}

 

l Models 数据库模型

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

l Providers 应用安装、更新文件存放

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

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

 

l Requests 请求验证

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

l Routes 应用路由

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

前台路由文件web.php

后台路由文件admin.php

api路由文件api.php

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

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

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

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

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

l Views 应用视图

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

l Trait 方法复用

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

例如:

//引入复用文件

use TaskTrait;

public function test(){

//使用复用方法

  $this->getTaskTitle();

}