php - Laravel 文件夹结构

标签 php architecture laravel laravel-4 directory

在决定将文件夹放置到 app\ 文件夹中的资源时,我经常会发现问题。

我应该在哪里放置诸如 model observersvalidators 以及 form macrosrepositories... . 目前我做以下事情

\app
   \models
   \controllers
   \repositories
   \observers
   \interfaces
   \validators 
   \views

虽然我看到有些人做了以下事情:

\app
   \models
   \controllers
   \views
   \YourAppNameHere
      \Services
         \validators
         \...

我不明白\Acme 文件夹与实际应用程序相同时背后的原因?

最佳答案

掌握 Laravel 文件夹结构的最佳方法是将 app 目录视为 框架的前端。如果你看一下 git repository你会看到它们是分开的——你可以克隆核心库,也可以单独克隆 laravel 应用程序。应用程序及其子文件夹仅代表可以使用框架的一种方式。当然,它的设计涉及最佳实践。查看核心框架 tests 目录 - Laravel 开发人员将库视为“ headless ” - 没有应用程序。对我来说,这就是掌握 Laravel 所需的一切。

因此您可以自由修改现有结构,但请记住,某些更改需要您composer dump-autoload - 主要是因为命名空间。

关于php - Laravel 文件夹结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21379434/

相关文章:

php - 您对 PHP 编码标准工具/系统/程序有何建议?

database - 微服务架构概念问题——微服务数据和边界

architecture - 企业、系统和应用程序架构(最佳实践?)

web-services - 网站如何运作/幕后发生了什么

php - 为什么我找不到类(class)? (Laravel, PHP)

php - 需要从表 'naam'中选择 'gebruikers'

javascript - 如何在脚本部分中使用我的 php 代码部分中的变量?

php - 如何正则表达式抓取 HTML 并忽略代码中的空格和换行符?

javascript - Laravel Blade @foreach 中的 Vue.js v-model 多文本输入问题

php - 使用 Redis 变量作为本地 session 变量