Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> SOLID i Zasada jednej odpowiedzialności, jak można zastosować tą zasadę dla tych klas i takiego wywołania
Nortonek
post
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 29.11.2003

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


Witam

Mam prośbę o nakierowanie mnie na temat pierwszej zasady SOILID, jak można zastosować tą zasadę dla tych klas i takiego wywołania,

w pierwszej klasie odwołuję się do drugiej, jednak znając życie będzie taka sytuacja że będę musiał przekazać więcej parametrów a nie tylko ID książki

i będę musiał modyfikować 2 klasy.


  1. <?php
  2.  
  3.  
  4. class Ksiazki {
  5.  
  6. private $id_ksiazki;
  7.  
  8. function __construct($id){
  9. $this->id_ksiazki - $id;
  10. }
  11.  
  12. private function zapisz_oddanie_zniszczonej_ksiazki(){
  13. global $db, $table_ksiazki_oddane;
  14.  
  15. $result0 = $db -> Execute("UPDATE $table_ksiazki_oddane SET `oddana`= '1' WHERE `id_ksiazki`='".$this->id_ksiazki."' ");
  16.  
  17. $Ksiazki_Zniszczone = new Ksiazki_Zniszczone();
  18. $Ksiazki_Zniszczone-> insert_ksiazki_zniszczone($this->id_ksiazki);
  19. }
  20.  
  21. }
  22.  
  23.  
  24. class Ksiazki_Zniszczone{
  25.  
  26. public function insert_ksiazki_zniszczone( $id_ksiazki){
  27. global $db, $table_ksiazki_zniszczone;
  28.  
  29. $result0 = $db -> Execute("UPDATE $table_ksiazki_zniszczone SET `zniszczenie_ksiazki`= '5' WHERE `id_ksiazki`='$id_ksiazki' ");
  30. }
  31.  
  32. }
  33.  
  34. ?>


Ten post edytował Nortonek 23.02.2014, 13:45:38
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1. Stan zniszczenia książki to właściwość samej książki, po co Ci do tego osobna klasa?
2. PaniBibliotekara to właśnie taki menadżer z mojego wcześniejszego postu. Powinna mieć ona metodę przyjmijZwracanąKsiążkę, która powinna jako argumenty przyjąć obiekty typu Książka oraz OsobaWypożyczająca. Wewnątrz tej metody mogłaby porównać stan książki sprzed wypożyczenia i w momencie jej zwrócenia. Jednak samo zapisywanie danych w bazie nie powinno już leżeć w jej zakresie obowiązków.

PS. Tak jak mówiłem, zapoznaj się z jakimś gotowym ORM-em: będziesz tam miał przykłady jak poprawnie pisać kod. Zaoszczędzisz sobie masy czasu, wyrobisz zdecydowanie więcej dobrych nawyków, a przy okazji poznasz jakieś konkretne narzędzie.
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: 7.10.2025 - 04:43