4.2.目录结构
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(); } |