[PHP] Class-functie in eigen arrayclass werkt niet

Pagina: 1
Acties:

  • Daspeed
  • Registratie: Maart 2001
  • Laatst online: 13:25
De volgende classes heb ik gemaakt:
PHP:
1
<?require("DynArray.php");class fiets{ function fiets() {  $this->fiets = "Ik ben een fiets."; }  function getFiets() {  return $this->fiets; }}$F = new fiets;$D = new DynArray();$D->addElement($F);echo $D->getElementAt(0)->getFiets(); // Hier gaat het fout?>


PHP:
1
<?class DynArray //verkleinde versie{      function DynArray()      {        $this->DA = array();      }            function addElement($obj)      {       $elements = count($this->DA);       $this->DA[$elements] = $obj;      }      function getElementAt($plaats)      {       return $this->DA[$plaats];      }}?>

Zoals aangegeven gaat het fout bij:
$D->getElementAt(0)->getFiets();

Als ik het echter gewoon met een standaard array doe, dan werkt het wel.
Kheb al van alles geprobeerd maar ik kom er maar niet uit. :'(

Heeft iemand een id wat ik fout doe?

  • Hydra
  • Registratie: September 2000
  • Laatst online: 26-04 10:16
Welke PHP versie draai je?

https://niels.nu


  • paulh
  • Registratie: Juli 1999
  • Laatst online: 22-06 15:30
"var $fiets" aanmaken lijkt me handig

[ZwareMetalen.com] - [Kom in aktie tegen de CO2 maffia]


  • Daspeed
  • Registratie: Maart 2001
  • Laatst online: 13:25
Op vrijdag 19 juli 2002 16:56 schreef paulh het volgende:
Je bent volgens mij vergeten de fiets class te extenden.
Ik maak niet gebruik van overerving :?
Op vrijdag 19 juli 2002 16:56 schreef Hydra het volgende:
Welke PHP versie draai je?
Ehh geen id. Ik test mijn php-scripts altijd eerst met InternetEvolutions(programma) en daar deed hij het niet op. ook op mn website deed hij het niet.

Edit: Ik heb PHP 4.0

  • paulh
  • Registratie: Juli 1999
  • Laatst online: 22-06 15:30
Op vrijdag 19 juli 2002 16:58 schreef DrClearbottom het volgende:
Ik maak niet gebruik van overerving :?
Nee, ik had niet goed gekeken... ik dacht dat je fiets had geextend van dynarray.

[ZwareMetalen.com] - [Kom in aktie tegen de CO2 maffia]


  • nospam
  • Registratie: Januari 2000
  • Laatst online: 24-08 19:08
Dit...

$D->getElementAt(0)->getFiets();

... mag niet in PHP4. Je moet eerst het resultaat van $D->getElementAt(0) in een variable zetten wil je er iets mee kunnen doen. De nieuwe Zend parser ondersteund wel bovenstaande, maar die is alleen nog maar te vinden in een 4.3 alpha en wordt pas echt gebruikt voor PHP5...

BTW, bij een normale PHP array mag je inderdaad wel iets doen als $array[0]->getFiets();, maar bij je eigen objecten werkt dit dus niet.

  • Daspeed
  • Registratie: Maart 2001
  • Laatst online: 13:25
Thnx, ik was denk ik iets te Java-minded :)
Pagina: 1