I currently work on a small application with models, mappers and controllers. My question is, (because I did not found any matching answer), how does the mapper interact with the model (& the controller), when we have the following situation.
$user = new UserModel();
$user->setId('21');
$userMapper = new UserMapper($user);
$userMapper->retrieve();
Bu, mümkün olduğu kadar iyi çalışır, modeli mapper gerekli kullanıcı almak (ve bir kullanıcı nesnesi haline geri harita) hangi bir kimliği vardır.
My problem is, how can I wrap this code, I mean, this code is very raw and it is definitly not very recommended to be used in a controller. I want to shorten it, but I do not exactly know how:
public function view($id)
{
$user->find($id); // this seems always to be tied with the user object/model (e.g. cakephp), but I think the ->find operation is done by the mapper and has absolutly nothing to do with the model
$view->assign('user',$user);
}
Bu daha fazla gibi görünmelidir:
public function view($id)
{
$mapper = $registry->getMapper('user');
$user = $mapper->find($id);
// or a custom UserMapper method:
# $user = $mapper->findById($id);
$view->assign('user',$user);
}
But this is much more code.
Should I include the getMapper
procedure within the parent controller class, so I can easily access $this->_mapper without explicitly calling it?
Sorun mapper desen kırmak istemiyorum, bu yüzden Modeli $model->find()
ile doğrudan herhangi bir SQL / Mapper yöntem erişmek olmamalı, ama ben sadece ilk için bir sürü kod var istemiyorum Bir eşleştiricisini oluşturma ve bunu yapmak ve bu gibi
Ben pek çok desen ve haritalama / modelleme teknikleri için yeni duyuyorum, çünkü kendimi zaten yeterince karışık, sen bana biraz anlamak umuyoruz.
saygılarımla,