Laravel 是一个优雅的 PHP 框架,旨在简化现代 Web 应用程序的开发。当您创建一个新的 Laravel 项目时,它会附带一个组织良好的目录结构,鼓励最佳实践和明确的关注点分离。让我们深入了解主要目录及其用途。
全新的 Laravel 安装包含以下关键目录:
project-root/ |-- app/ |-- bootstrap/ |-- config/ |-- database/ |-- public/ |-- resources/ |-- routes/ |-- storage/ |-- tests/ |-- vendor/
这是应用程序的核心,大部分逻辑都驻留在其中。 app/ 目录包含各种应用程序组件的子文件夹:
控制台/:包含自定义 Artisan 命令。
Events/:定义您的应用程序可以侦听的事件。
异常/:处理异常和自定义错误报告。
http/:
控制器/:容纳应用程序的控制器。
Middleware/:存储用于过滤 HTTP 请求的中间件。
Models/:Eloquent 模型的默认位置。
Observers/:保存用于处理模型事件的观察者类。
Policies/:包含特定模型的授权逻辑。
Providers/:存储引导应用程序各个部分的服务提供者。
该目录包含应用程序的初始引导文件。这里最值得注意的文件是 app.php,它初始化 Laravel 框架。
此外,它还包含一个cache/文件夹,用于存储框架生成的缓存文件以提高性能。
顾名思义,该目录包含应用程序的所有配置文件。这些文件允许您管理服务、数据库连接、邮件、缓存等的设置。例如:
app.php 用于核心应用程序设置。
database.php 用于数据库配置。
mail.php 用于电子邮件服务设置。
该目录管理所有与数据库相关的文件:
factories/:包含用于播种测试数据的工厂类。
migrations/:存储用于定义数据库架构的迁移文件。
播种机/:容纳播种机,用于使用样本数据填充数据库。
此目录是 Web 请求的入口点,包含应用程序的前端文件。主要内容包括:
index.php:处理所有传入请求的主文件。
静态资源,例如图像、CSS 和 JavaScript 文件。
该目录存储将被编译或用于生成视图的应用程序资源。子目录包括:
views/:包含应用程序前端的 Blade 模板文件。
lang/:保存用于本地化的语言文件。
css/ 和 js/(位于 sass/ 和 js/ 内):CSS 和 JavaScript 资源的默认文件夹。
这是应用程序的路由逻辑所在的位置。 Laravel 为不同的路线类型提供单独的文件:
web.php:处理 Web 请求的路由(通常带有会话和 cookie)。
api.php:处理 API 请求的路由(无状态)。
console.php:定义自定义 Artisan 命令。
channels.php:定义事件广播频道。
此目录包含您的应用程序和框架本身生成的文件:
app/:存储应用程序生成的文件。
framework/:存储框架缓存、会话和编译视图。
logs/:包含用于调试和错误跟踪的日志文件。
所有应用程序测试都存储在这里。默认情况下,它包含功能和单元测试的目录:
功能/:评估整个应用程序堆栈功能的测试。
Unit/:验证特定函数或类的测试。
该目录包含所有通过 Composer 安装的第三方软件包。您绝对不应该直接修改此文件夹。
在 Laravel 中开发时,了解每个目录的用途有助于您逻辑地组织代码。例如:
将业务逻辑放置在应用程序/模型中的模型中。
在routes/web.php或routes/api.php中编写自定义路由。
在资源/视图中保留可重用的组件,例如布局。
遵循 Laravel 约定:Laravel 有一个预定义的结构是有原因的——除非绝对必要,否则请坚持使用它。
使用子文件夹实现可扩展性:对于较大的项目,请考虑在控制器或模型中创建子文件夹以对相关文件进行分组。
利用 artisan 命令:使用 php artisan make:model、php artisan make:controller 等命令,自动将文件放置在正确的位置。
通过掌握 Laravel 的目录结构,您将有信心有效地导航、维护和扩展您的项目。请继续关注第 4 天,我们将深入配置 Laravel 以满足您的开发需求!
以上是探索 Laravel 目录结构的一天的详细内容。更多信息请关注PHP中文网其他相关文章!