【发布时间】:2015-02-09 18:21:30
【问题描述】:
最近读完了一本面向对象的书,决定用 Laravel 框架创建一个项目。
在书中作者建议按照类型来划分类:DTOs、BLs 和 Repositories。 Laravel 让我有点困惑如何组织我的系统。
我一直在考虑做这样的事情:
文件结构:
app
BL
RegisterUser.php
Repositories
UserRepository.php
然后做例子:
// 用户控制器
public function register($name, $email)
{
try {
$this->registerUser->fromWeb($name, $email);
}
catch(..) {
}
return View::make(....);
}
//注册用户
public function fromWeb($name, $email) {
if(...)
throw new Exception();
$this->userRepository->createUser($name, $email);
}
// 用户存储库
public function createUser($name, $email) {
// Insert to DB
}
我不要求具体执行此操作,而是一般性地询问以这种方式工作是否正确。
另外,我必须在模型中使用 DTO 吗?如果是这样,它应该如何适应?
【问题讨论】:
标签: php laravel model-view-controller repository