Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Tablica wewnątrz klasy
Forum PHP.pl > Forum > Przedszkole
Spirit86
Cześć! Napisałem sobie klasę, gdzie jest tablica $Objects; Jak tworzę klasę (new Modules), to tablica $Objects ma jakieś pozycje.
  1. class Modules{
  2.  
  3. private $Objects = array();
  4.  
  5. function __construct(){ //tutaj tworzy się tablica }
  6. function LoadModule($module){
  7. debug::Dump($this->Objects);
  8. }
  9. function GetObject($id){ }
  10.  
  11. function RegisterObject($object){
  12. $this->Objects[strtoLower(get_class($object))] = $object;
  13. //uzycie $this->LoadModule('a'); wyświetla prawidłową tablicę
  14.  
  15. }
  16. function InicializeModules(){ }
  17.  
  18. }


Problem polega na tym, że jak chce wywołać klasę w następująco:
  1. $modules = new Modules();
  2. $modules->LoadModule('ss');

Tablica staje się pusta, dlaczego?
Jak tworze zmienną $Objects poza klasą i doklejam do niej dane to działa normalnie. Problem się pojawia jak zmienną chce utrzymać w klasie.
pozdr
webdice
Skąd mamy wiedzieć co robi debug::Dump?
Spirit86
drukuje tabele, to działa, tu problem jest logistyczny

  1. function Dump($array){
  2. echo '<pre>';
  3. print_r($array);
  4. echo '</pre>';
  5.  
  6. }
webdice
Metoda Dump nie zwraca żadnej wartości.
Spirit86
w construct są wczytywane wszystkie klasy. W każdej z klas (pliki) na końcu wywołuję daną klasę Modules::RegisterObject($links = new Links());

może w tym tkwi problem?

Nie wiem jak mając coś zmienną zainicjować obiekt nowej klasy, tj

  1. $Object = new $nazwa_klasy();


Wobec czego postawnowiłem dodawać ręcznie w każdym pliku wywołanie klasy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.