【发布时间】:2014-10-09 15:01:31
【问题描述】:
所以 Laravel 5 带来了一个新的文件夹结构,我正在尝试找出管理我的自定义类的最佳方法(记住 PhpSpec 测试)
以前我做过这样的事情
- 应用程序
- Apes(我的自定义课程所在的地方)
- 型号
- 控制器
- 等
我是否应该尝试对我的类进行分段以适应新的目录结构?例如,现在应用中有一个 Http 文件夹,我应该在该目录中添加相关的自定义类吗?
- 应用程序
- http
- 猿类
- SomeHttpClass
- 控制器
- 中间件
- 猿类
- 提供者
- 猿类
- 我的服务提供者
- AppServiceProvider.php
- 猿类
- http
我知道这可能是个人喜好等问题,但我一直在思考什么是布置全新 L5 项目的最佳实践方法时遇到了一些麻烦。
任何建议表示赞赏。
更新
经过一段时间的修改,我确定了一种适合我的方法(这是一个小应用程序。
- 应用程序
- 控制台
- 处理程序
- 帮手
- http
- 控制器
- 管理员
- 公开
- 中间件
- 请求
- 控制器
- 提供者
- 存储库
- AbstractDbRepository.php
- ClientRepositoryInterface.php
- DbClientRepository.php
- DbScheduleRepository.php
- ScheduleRepositoryInterface.php
- 时间表
- 例外情况
- Schedule.php
- ScheduleCalculator.php
- ScheduleInputTransformer.php
- ScheduleTimes.php
- 特征
- SimpleModel.php
我决定,如果一个模型相当简单,我就把它留在应用程序的根目录中,但对于需要更广泛测试的更复杂的模型,我会使用存储库模式。
我刚刚将控制器保留在原始位置,但将它们细分为 admin/public。有可能我们也会为此构建一个小型 API,我可能会将与 API 相关的所有内容放在 app/Api 中
【问题讨论】:
-
看看 Reddit 上的讨论:reddit.com/r/laravel/comments/2bfyik/…
-
我现在慢慢地陷入了一种模式,这似乎很好地打破了局面。我会更新原来的问题。