📅  最后修改于: 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/Http
目录下,我们可以找到所有我们的HTTP请求文件,包括控制器、中间件、表单请求等。
app/
├── Console
│ ├── Commands
│ └── Kernel.php
├── Exceptions
├── Http
│ ├── Controllers
│ ├── Middleware
│ ├── Requests
│ └── Kernel.php
├── Providers
└── User.php
在 bootstrap
目录中,我们可以找到一些在程序启动时需要执行的基础文件。比如,app.php
文件初始化我们的程序配置,autoload.php
文件加载 Composer 依赖,然后 cache
、app
和 config
目录都被缓存并加速加载时间。
bootstrap/
├── app.php
├── autoload.php
└── cache
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/
├── 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
目录中包含了我们的程序的入口文件 index.php
和所有的前端静态资源,比如 JavaScript、CSS、图片等。
public/
├── css
├── fonts
├── img
├── index.php
├── js
└── robots.txt
resources
目录中包含了我们所有的资源文件,比如视图、语言文件和 Sass 文件。这些文件在即使被压缩和优化后仍然能被修改,例如视图模板可以被修改,在项目中需要逐步开发和调整这些模板。
resources/
├── js
├── lang
├── sass
│ └── app.scss
├── views
│ ├── auth
│ ├── home.blade.php
│ ├── layouts
│ ├── welcome.blade.php
│ └── vendor
└── img
routes
目录包含了我们的应用程序所有的路由文件。这些文件定义了我们的应用程序所有可以访问的 URL,并且 Laravel 可以根据这些路由执行相应的逻辑处理。
routes/
├── api.php
├── channels.php
├── console.php
├── web.php
└── webhooks.php
storage
目录中包含了我们的应用程序所有的缓存和临时文件。任何需要这些文件的请求不应该包含在公共目录中。
storage/
├── app
│ └── public
├── framework
│ ├── cache
│ ├── sessions
│ ├── testing
│ └── views
└── logs
tests
目录包含了我们所有的测试文件,包括功能测试、单元测试等。它有助于我们检测编写的代码是否正常运行,以及是否出现异常。
tests/
├── CreatesApplication.php
├── Feature
├── TestCase.php
└── Unit
在 vendor
目录中,我们可以找到我们的程序的所有依赖库,这些依赖库都是通过 Composer(PHP 依赖管理器)来管理的。
vendor/
├── autoload.php
├── bin
├── composer
├── doctrine
├── laravel
├── monolog
└── symfony
以上就是拉拉维尔的目录结构,每个目录和其子目录都有自己的作用和功能,当我们需要开发程序时,需要根据业务需求对不同的目录进行操作和配置,从而让程序运行正确并达到预期的效果。