Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Kohana]Kontrola jakości kodu
MateuszS
post
Post #1





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

Ostrzeżenie: (0%)
-----


Witam. Skończyłem mały projekt w Kohanie (prosta strona z newsami, galerią itp.). Nie ma sensu pokazywać strony bo najważniejsza jest w tym właśnie Kohana i szlifowanie jej. Dopiero zacząłem się go uczyć i chciałbym przejść swego rodzaju kontrolę jakości. Wiadomo, prawdopodobnie "forumowy sanepid" zamknąłby moją fabrykę kodu ale głównie chodzi mi o uzyskanie rad, co robię źle i jak to poprawić żeby było dobrze (albo chociaż lepiej). Przymierzam się w niedalekiej przyszłości do stworzenia większego projektu i chciałbym żeby to było zrobione PRO.

Chciałbym abyście przyjrzeli się kontrolerowi i modelowi newsów (dla panelu administracyjnego). Proszę nie traktować tego jako "kodu do oceny". Ja wiem że to do oceny się jeszcze nie nadaje, z tym że ja już nie bardzo wiem co mógłbym poprawić. Stąd moja prośba o "kontrolę" kodu. Wybaczcie durnowate komentarze w kodzie, czasami się gubiłem.

Kontroler:
http://wklej.org/id/966403/

Model:
http://wklej.org/id/966404/

Pozdrawiam

Ten post edytował MateuszS 26.02.2013, 01:07:52
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


Troche za dużo kodu w kontrolerze
  1. public function action_index()
  2. {
  3. //Pobieranie wszystkich newsów
  4. $_news = Model::factory('News')->news_get_all();
  5.  
  6. if (count($_news) > 0)
  7. {
  8. //Tabela newsów
  9. $content = View::factory("admin/news/news_table")->set('array_news', $_news);
  10. }
  11. else
  12. {
  13. //Błąd w przypadku braku newsów
  14. $content = $this->message("no_news_found");
  15. }
  16. //Ustawienie widoku
  17. $this->template->content = View::factory("admin/news/news")
  18. ->set('content', $content);
  19. }
  20.  

Validacja i dodawanie rekorów to w modelu się odbywa.
Moje metody odpowiedzialne za dodawanie i edycje rekordu wyglądają tak
  1. public function action_add()
  2. {
  3. $this->template->content = $this->form();
  4. }
  5.  
  6. public function action_edit()
  7. {
  8. $this->template->content = $this->form($this->model->get()->current());
  9. }
  10.  
  11. private function form($values = array())
  12. {
  13. // tu sprawdzam czy został wysłany post
  14. // i co zwraca metoda save w modelu
  15. return View::factory('form')->set('values', $values);
  16. }

Dodatkowo przenieś sobie metode message do kontrollera po którym dziedziczysz żebyś w każdym nie musiał sobie czegoś takiego dopisywać.
A model jak model nic szczególnego, tylko dlaczego wszystko na bool rzutujesz nie jest Ci potrzebne ID rekordu ktory dodałeś ? Liczba usuniętych / zmienionych rekordów
  1. /**
  2. * Odnalezienie newsa o podanym ID
  3. */
  4. return (DB::select()
  5. ->from("parys_news")
  6. ->where("ID", "=", $id)
  7. ->execute()
  8. ->count() > 0);
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 22:54