laravel文件夹结构

Laravel 的文件夹结构

简介

默认的 Laravel 应用结构旨为不同大小的应用提供一个好的起点。当然,你可以按照喜好管理应用的目录结构。Laravel 没有严格地限制任何给定的类的位置,只要它们能被 Composer 自动加载就可以了。

为什么没有模型目录?

当我们使用 Laravel 时,会发现因缺少 models 目录而感到困惑。然而,缺少这样的目录是故意的。我们发现「模型」含糊不清,因为不同的人对「模型」有不同的理解。一些开发者把应用的「模型」称为其所有业务逻辑的总体,而另一些人将「模型」称为与关系数据库交互的类。

因此,框架默认把 Eloquent(爱咯苦特) 的模型放在 app 目录下,并且允许我们自行选择把「模型」放置在何处。

我一般都是把模型放在app目录下

根目录

App 目录

app 目录包含应用程序的核心代码。你应用中几乎所有的类都应该放在这里。这个目录下包含了控制器 包括我的模型也在这个下面写着

Bootstrap 目录

bootstrap 目录包含启动框架的 app.php 文件. 该目录还包含了一个 cache 目录,cache 目录下存放着框架生成的用来提升性能的文件,比如路由和服务缓存文件。

Config 目录

config 目录,顾名思义,包含应用程序所有的配置文件。

Database 目录

database 目录包含数据填充和迁移文件以及模型工厂类。你还可以把它作为 SQLite 数据库存放目录。

Public 目录

public 目录包含了入口文件index.php,它是进入应用程序的所有请求的入口点。此目录还包含了一些你的资源文件(如图片、JavaScript 和 CSS)。我一般套模板的时候都是使用asset这个函数  我配置域名的时候直接配置到了public下 然后我把css js 图片打包成一个文件夹  然后在我需要用到这些css之类的东西 直接使用asset里面是文件夹的名字。就可以成功调用了

Resources 目录

resource 目录包含了视图和未编译的资源文件(比如说javascript)此目录还包含你所有的语言文件。比如视图就是放在这个文件夹下。

Routes 目录

routes 目录包含了应用的所有路由定义,Laravel 默认包含了几个路由文件:web.php、api.php、 console.php 和 channels.php。

web.php 它提供会话状态、CSRF 防护和 cookie 加密。如果你的应用不提供无状态的、REST风格的 API,则所有的路由都应该在 web.php 文件中定义。.

api.php 文件包含 RouteServiceProvider 放置在 api 中间件组中的路由,它提供了频率限制。这些路由都是无状态的,所以通过这些路由进入应用请求旨在通过令牌进行身份认证,并且不能访问会话状态。

console.php 文件是定义所有基于控制台命令闭包函数的地方。每个闭包函数都被绑定到一个命令实例并且允许和命令行 IO 方法进行简单的交互。尽管这些文件没有定义 HTTP 路由,但它也将基于控制台的入口点(路由)定义到应用程序中。

channels.php 用来注册你的应用支持的所有的事件广播渠道的地方。

Storage 目录

storage 目录包含编译后的 Blade 模板、session 会话生成的文件、缓存文件以及框架生成的其他文件。这个目录被细分成 app 、 framework 和 logs 三个子目录。app 目录可以用来存储应用生成的任何文件。 framework目录用来存储框架生成的文件和缓存。最后, logs 目录包含应用的日志文件。

Tests 目录

tests 目录包含自动化测试文件。每个测试类都应该以 Test 作为后缀。你可以使用 phpunit命令来运行测试。

Vendor 目录

vendor 目录包含你所有的 Composer 依赖包。

App 目录详情

Console 目录

Console 目录包含了所有自定义的 Artisan 命令。这个目录还包含了控制台内核,控制台内核可以用来注册你的自定义 Artisan 命令和你定义的 计划任务 的地方

Http 目录

Http 目录包含了控制器、中间件和表单请求。几乎所有的进入应用的请求的处理逻辑都被放在这里。

Exceptions 目录

Exceptions 目录包含了应用的异常处理器,也是应用抛出异常的好地方。

猜你喜欢

转载自blog.csdn.net/qq_42611547/article/details/84999130
今日推荐