ďťż
Podstrony
|
telcocafeMam problem i nie mam pojęcia jak do tego podejść.Mam powiedzmy 3 klasy: class klasa1 { ... } class klasa2 { ... } class klasa3 { ... } Problem w tym, że mają być od siebie 'uzależnione' tzn. że klasa 2 korzysta z klasy 3, pierwsza z 3 itp. Chodzi o to że kiedy klasa 2 korzysta powiedzmy z klasy 1, jest ok, ale kiedy miałaby korzystać z 3 to nie da rady, bo jest jeszcze nie zadeklarowana. Proszę o wskazówki i możliwe rozwiązania ;) Umieść je w osobnych plikach i zastosuj funkcję include (lub include_once, require i require_once). Użytkownik Kozack edytował ten post 04 marzec 2009, 19:48 nie rozumiem twojej wypowiedzi? klasa 2 korzysta z 3 i co da to include? Czego tutaj nie rozumiesz? Każdą klasę umieszczasz w osobnym pliku. Jeśli druga klasa korzysta z trzeciej, to na początku dołączasz plik z odpowiednią definicją: Plik "klasa1.php": class klasa1 { }; Plik "klasa2.php": include('klasa3.php'); class klasa2 { }; Plik "klasa3.php": class klasa3 { }; dobra ale tych klas moze być bardzo dużo i mają tworzyc różnorodne powiazania miedzy sobą dopiero poznaję programowanie obiektowe i nie mam pojęcia jak mam do tego podejść Użytkownik PiKey edytował ten post 04 marzec 2009, 22:18 Proponuje zrobić to jakoś inaczej.. Np jedną klasę nadrzędną w której by były te powiązania a reszta, to klasy dzieci żyjące własnym życiem, ale korzystające z klasy rodzica i tych wszystkich w niej rzeczy wspólnych. Proponuję rozwiązać to http://pl.php.net/ma...p5.abstract.php tak, albo http://pl.php.net/ma....interfaces.php tak ;) function __autoload($classname){ if (file_exists('class/' . $classname . '.class.php')){ include_once 'class/' . $classname . '.class.php'; } } Funkcję tę deklarujesz tylko raz - w nadrzędnym pliku. Nie musisz już w plikach klasy używać include. Więcej: http://pl.php.net/autoload |
|||
Sitedesign by AltusUmbrae. |