Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wskazniki do struktur
Forum PHP.pl > Forum > PHP
razoon
Witam wszytkich
PROBLEM WYGLADA NASTEPUJACO :
musze zrobic skrypt do tworzenia pliku xml w php4 z tego co wiem nie ma wbudowanych funckji do tworzenia tego rodzaju pliku ( w php4 ) jedynie do odczytywanie ich exclamation.gif

Moim problemem jest przkazanie WSKAZNIKA DO OBIEKTY - wkazdym razie cos takiego ( cos podobnego w C lub C++ ).
oto czesc kodu.
plik xml.php
  1. <?php
  2.  
  3. class sxml{
  4.  
  5. var $znaczniki = array();
  6.  
  7. function CreateElement($p){
  8. $licz = count($this->znaczniki);
  9. $this->znaczniki[$licz] = new element($p);
  10. return $this->znaczniki[$licz];
  11.  }
  12.  
  13. function wyswielt(){ 
  14.  echo &#092;"------WYSWIETL------<br />\";
  15.  for ($i = 0 ; $i < count($this->znaczniki);$i++){
  16.  echo $this->znaczniki[$i]->tresc;
  17.  }
  18.  echo &#092;"------KONIEC-----<br />\";
  19. }
  20.  
  21. class element{
  22.  
  23.  var $nazwa;
  24.  var $tresc;
  25.  
  26.  function element($p){
  27.  $this->nazwa = $p;
  28.  }
  29. }
  30.  
  31. ?>


plik index.php
  1. <?php
  2.  
  3. include (&#092;"xml.php\");
  4. $xml = new sxml();
  5. $zn1 = $xml->CreateElement('cos');
  6. $zn1->tresc = 'jakis text';
  7. $xml->wyswielt();
  8. echo $zn1->tresc.'<br />';
  9.  
  10. ?>


WYNIK
  1. ------WYSWIETL------
  2. ------KONIEC-----
  3. jakis text


Nie działa to zpowodu takiego ze funkcja CreateElement zwraca kopie tego Obiektu.
potrzeba mi było by wskaznika do tego obieku nie kopi exclamation.gif

ORAZU MÓWIE ZE NIE BEDE SIE UPIERAŁ ZE TO JEST DOBRY POMYSL DLA TEGO PROJEKTU.

prosze mi tylko powiedzic czy w PHP4 jest mozliwosc tworzenia wskazników do obiektów ( jesli tak to jakis przykład ), czy nie ma ( jesli niema to prosze o jakis pomysł - podpowiedz jak to mozna wykonac tylko załozenie jest takie ze wpliku index.php odwoluje sie tworze obiekt i odowluje sie do nei go tak jak to przedstawiłem - a nie za pomoca funkcji - jesli sie nie da no cóz trzeba bedzie zmienic exclamation.gif )

DZIEKI Z GÓRY exclamation.gif
dasko
1. W PHP4 jest rozszerzenie do edycji, tworzenia i odczytywania plików XML - zwie się DOM XML.
2. Owszem w php nie ma wskaźników, są natomiast referencje.
3. Mozesz poprawić metodę CreateElement w ten sposób:
  1. <?php
  2.  
  3. function &CreateElement($p){
  4. // wystarczy jedna linijka kodu :)
  5. return $this->znaczniki[] = new element($p);
  6. }
  7.  
  8. ?>

W ten sposób zwracasz referencję(zauważ & przed nazwa funkcji). Potem aby przypisać do zmiennej zwróconą referencję musisz napisać tak:
  1. <?php
  2.  
  3. $zn1 =& $xml->CreateElement('cos');
  4.  
  5. ?>

smile.gif
BTW wszystko jest opisane w manualu, wystarczy poczytać....
BTW2 temat nie nadaje się na php Pro.
hwao
php pro -> php

php ma sporo juz gotowych klas do tego wystarczy poszukac. (google/forum)
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.