Temat: Grube kontrolery i chude modele :)

Cześć,

Chciałem was zapytać, czy macie jakieś strategie na częste akcje zapisu, edycji i usuwania z bazy danych ?
Chodzi mi o to, że bardzo często w kontrolerze używa się czegoś na styl ( tylko przykład z grubsza) :

$result = $this->Gallery->editGallery($id);
if (!$result) {
throw new NotFoundException('Nie ma takiej strony');
return false;
}
if ($this->request->is('post')) {
$this->Gallery->id = $id;
$this->Gallery->save($this->request->data);
return;
}
if (!$this->request->data) {
$this->request->data = $result;
}


Czyli za każdym razem sprawdzenie czy $this->request->data jest, czy to data('post, 'put') itd...
Ten kod w konrolerze wszystko sprawdza przez co model na pewno ma mniej pracy..

Pytanie jest takie, w jaki sposób przerzucacie część takiego kodu do modelu, bo jak ma się wiele akcji typu zapisz czy edytuj w kontrolerze, to strasznie puchnie, a ten kto powinien na siebie tą robotę wziąć jest chudy jak patyk.
Czy nie piszecie żadnych funkcji w modelu, tylko po to żeby mieć chudy kontroler i działacie jak opisuje to książka cakephp'a, tam za każdym razem jest ten sam schemat- kontroler sprawdza czy jest np $id, czy takie id jest w bazie, czy w końcu to edycja i następuje przypisanie $this->request->data = $wynik, czy nie ma $this->request->data i będzie wykonany zapis nowego rekordu...

Generalnie przez te request data w kontrolerze, mam długi kontroler który za każdym razem sprawdza, a model ma kilka linijek kodu typu walidacja itd...

Wiem,że model nie ma dostępu do $this->request->data.

Generalnie, wiadomo, kontroler podejmuje decyzję co robić, ale chciałbym mieć więcej kodu w modelu, do którego rzadziej zaglądam i moje kółko od myszki ma więcej wolnego.

Pozdrawiam.

Temat: Grube kontrolery i chude modele :)

Zamieściłem post na stackoverflow.

http://stackoverflow.com/questions/24138955/creating-f...

Może komuś się przyda. Pozdrawiam.

konto usunięte

Temat: Grube kontrolery i chude modele :)

Nie rozumiem tylko dlaczego ten koleś tworzy w modelu coś takiego jak:

public function name_of_your_function($id)
{
return $this->findById($id);
}


skoro każdy model dziedziczy metodę read(), która to właśnie robi (findById) :)
PozdrawiamTen post został edytowany przez Autora dnia 13.06.14 o godzinie 10:09

Temat: Grube kontrolery i chude modele :)

wg mnie zrobił dobrze.
A read() unikam, nie użyłem ani razu.
Bartek Naski

Bartek Naski CakePHP developer

Temat: Grube kontrolery i chude modele :)

hehe, a zasadniczo... o co chodzi?

Temat: Grube kontrolery i chude modele :)

wychodzi na to że już o nic....



Wyślij zaproszenie do