Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dołączanie plików wewnątrz klas
buliq
post
Post #1





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

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


Witam.

Chciałbym prosić Was o radę/solucję. Problem jest taki iż stworzyłem 3 klasy: 1 główna ładuje pozostałe i odpowiada za funkcje użytkowników, 2 odpowiada z bazę danych, 3 odpowiada za parsowanie i wyświetlanie templatek, tworzeniu tabel i błędów. W tej ostatniej do parsera dodałem:
  1. preg_match_all('/<include:(.+?)>/', $file, $match);
  2. $match=$match[1];
  3. foreach ($match as $w) {
  4. include("sys/includes/".$w.".php");
  5. $r=module.$w();
  6. $file=preg_replace('/<include:'.$w.'>/', ($r), $file);
  7. }


Problem jest taki że klasa główna jest przypisana do zmiennej $system, wewnątrz pliku natomiast nie mogę się odwołać do $system. Natomiast działa $this i funkcje z klasy templatek. Poszukuję rozwiązania aby mieć dostęp do $system i nie mieć do $this. Da się tak?

Pozdrawiam.
Go to the top of the page
+Quote Post
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Raczej anormalne byłoby blokowanie this i jej niewidoczność. Co do $system to musisz w jakiś sposób ja przekazać do tej klasy, choćby poprzez parametr konstruktora czy jak tam chcesz tę trzecią inicjalizować. Nie dlatego chyba tworzyłeś 3 osobne klasy by teraz kombinować jak to wszystko połączyć w funkcjonalnie jedną?
Go to the top of the page
+Quote Post
buliq
post
Post #3





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

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


Tworzyłem 3 klasy aby oddzielić funkcjonalność. Nie wyobrażam sobie aby pliki modułów korzystały z $this a nie z $system. Chodzi mi o to aby obejść klasę przy ładowaniu tych plików
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Nie wyobrażam sobie aby pliki modułów korzystały z $this a nie z $system.

No to tysiące programistów nie jest programistami, bo inaczej sobie to wyobrażali.

Jak już tak usilnie chcesz zrobić po swojemu, to przecież możesz przypisać:
  1. $system = $this;
Go to the top of the page
+Quote Post

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: 20.09.2025 - 23:45