ďťż
Podstrony
|
telcocafeCześć.Piszę obecnie bardzo duży projekt w PHP. Jako że po praniu mózgu zacząłem używać klas w PHP, pojawił się przede mną problem dziedziczenia przez wiele klas. Innymi słowy projekt jest na tyle duży że jeśli sobie nie zapiszę która klasa dziedziczy po której, to się będę 100 lat zastanawiał dlaczego po 20 dziedziczeniu jakaś metoda korzystająca z innej metody mi nie działa. Czy jest jakiś dobry sposób na tą bolączkę ? Wiem o wywoływaniu metod zdalnie bez potrzeby tworzenia nowej klasy, ale nie satysfakcjonuje mnie to, przez potrzebę kombinowania z przekazywaniem zmiennych. Czy jest jakiś dobry sposób żeby jedna klasa korzystała z metod drugiej klasy bez tworzenia obiektu klasy i bez NazwaKlasy::metoda_klasy(100 parametrów) Pozdrawiam. układ wielu klas o skomplikowanej strukturze połączeń nie jest dobrym rozwiązaniem. Jeżeli musisz w jednej klasie użyć kilku innych to w kontrolerze stwórz obiekty tych klas i przypisz je do $this->nazwaklasy tak że w dowolnej klasie $this->obsługaoracle10i będzie zrozumiałe od czego jest. Nie czaje ;( Mógłbyś mi to obrazowo wyjaśnić ? class Klasa1 { public function metoda() { } } class Klasa2 { public function metoda2() { } } class db { } class szablony { } class KonstruktorJakiś { public function __construct() { $this->db = new $db(); $this->szablony = new $szablony(); } } Jedno pytanie dlaczego w new $db jest znak dolarka skoro db to nazwa klasy? drobny błąd ;) nie powinno być $ :) Sorka, że odgrzeje tego kotlecika ale czegoś nie mogę zrozumieć... Mam, np. kod: <?php class klasa1 { public function metoda1() { echo 'Metodą 1 jestem... :D'; } } class klasa2 { public function metoda2() { echo 'Metodą 2 jestem... :D'; } } class klasa { function __construct() { $this->klasa1 = new klasa1; $this->klasa2 = new klasa2; } } ?> No to jak chcę wykonać metoda1 z klasa1 przez klasa to moge uzyc kilka razy "->" ?? Czyli: $lol = new klasa; $lol->klasa1->metoda1(); Czy coś źle zrozumiałem? Na moją głowę to powinno działać, ale czy to poprawnie jest? Owszem tak to można wykonać jednak nie należy z tym przesadzać i używać dosyć często singletonów. na przykład do Klasy DB. edit> Wielka prośba: zaraz założę nowy temat bo mam problem z Klasą Exception. edit>> dobra nie ważne jak zwykle jestem ślepy .... Użytkownik orglee edytował ten post 13 luty 2007, 01:03 |
|||
Sitedesign by AltusUmbrae. |