📜  拉拉维尔 |目录结构(1)

📅  最后修改于: 2023-12-03 15:25:52.103000             🧑  作者: Mango

拉拉维尔 目录结构

拉拉维尔(Laravel)是一款基于PHP的开源Web应用框架,它提供了一套简单优雅的语法用于快速构建Web应用程序。它的强大之处在于其丰富的功能和稳定性,以及其具有完善的文档和友好的社区。

在了解其目录结构之前,需要知道的是,拉拉维尔采用了MVC(Model-View-Controller)架构。这意味着,我们的Web应用程序就像是由三个模块组成:模型、视图和控制器。

接下来,我们来看一下拉拉维尔的目录结构,理解每一个目录的作用和功能。

app/
bootstrap/
config/
database/
public/
resources/
routes/
storage/
tests/
vendor/
app

app 目录中包含了我们的程序的所有核心代码,例如模型、控制器、中间件等。此外,在 app/Http 目录下,我们可以找到所有我们的HTTP请求文件,包括控制器、中间件、表单请求等。

app/
├── Console
│   ├── Commands
│   └── Kernel.php
├── Exceptions
├── Http
│   ├── Controllers
│   ├── Middleware
│   ├── Requests
│   └── Kernel.php
├── Providers
└── User.php
bootstrap

bootstrap 目录中,我们可以找到一些在程序启动时需要执行的基础文件。比如,app.php 文件初始化我们的程序配置,autoload.php 文件加载 Composer 依赖,然后 cacheappconfig 目录都被缓存并加速加载时间。

bootstrap/
├── app.php
├── autoload.php
└── cache
config

config 目录中包含了我们所有的程序配置文件。例如,我们可以在 auth.php 文件中配置我们的认证逻辑,也可以在 database.php 文件中配置我们的数据库信息。

config/
├── app.php
├── auth.php
├── broadcasting.php
├── cache.php
├── database.php
├── filesystems.php
├── hashing.php
├── logging.php
├── mail.php
├── queue.php
├── services.php
└── session.php
database

database 目录中包含了我们的数据库迁移和数据填充文件。我们可以在这里为我们的应用程序定义和管理数据库表和数据。

database/
├── factories
│   └── UserFactory.php
├── migrations
│   ├── 2014_10_12_000000_create_users_table.php
│   └── 2014_10_12_100000_create_password_resets_table.php
└── seeds
    └── DatabaseSeeder.php
public

public 目录中包含了我们的程序的入口文件 index.php 和所有的前端静态资源,比如 JavaScript、CSS、图片等。

public/
├── css
├── fonts
├── img
├── index.php
├── js
└── robots.txt
resources

resources 目录中包含了我们所有的资源文件,比如视图、语言文件和 Sass 文件。这些文件在即使被压缩和优化后仍然能被修改,例如视图模板可以被修改,在项目中需要逐步开发和调整这些模板。

resources/
├── js
├── lang
├── sass
│   └── app.scss
├── views
│   ├── auth
│   ├── home.blade.php
│   ├── layouts
│   ├── welcome.blade.php
│   └── vendor
└── img
routes

routes 目录包含了我们的应用程序所有的路由文件。这些文件定义了我们的应用程序所有可以访问的 URL,并且 Laravel 可以根据这些路由执行相应的逻辑处理。

routes/
├── api.php
├── channels.php
├── console.php
├── web.php
└── webhooks.php
storage

storage 目录中包含了我们的应用程序所有的缓存和临时文件。任何需要这些文件的请求不应该包含在公共目录中。

storage/
├── app
│   └── public
├── framework
│   ├── cache
│   ├── sessions
│   ├── testing
│   └── views
└── logs
tests

tests 目录包含了我们所有的测试文件,包括功能测试、单元测试等。它有助于我们检测编写的代码是否正常运行,以及是否出现异常。

tests/
├── CreatesApplication.php
├── Feature
├── TestCase.php
└── Unit
vendor

vendor 目录中,我们可以找到我们的程序的所有依赖库,这些依赖库都是通过 Composer(PHP 依赖管理器)来管理的。

vendor/
├── autoload.php
├── bin
├── composer
├── doctrine
├── laravel
├── monolog
└── symfony

以上就是拉拉维尔的目录结构,每个目录和其子目录都有自己的作用和功能,当我们需要开发程序时,需要根据业务需求对不同的目录进行操作和配置,从而让程序运行正确并达到预期的效果。