/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
extended class
Fra : Martin


Dato : 07-10-06 16:00

Hej.

Sidder lige og gruer over et lille spørgsmål.

class Test
{
   var $content;
   
   function __construct($tekst) {
      $this->content[]="<h1>".$tekst."</h1>";
   }
   
   function content($content) {
      $this->content[]=$content;
   }
   
   function getContent() {
      return implode(" ",$this->content);
   }
}

class T2 extends Test {
   function __construct($content) {
      $this->content($content);
   }
}

$test = new T2("Hej med dig");
echo $test->getContent();

Hvordan får jeg nu lige smidt noget tekst ind i konstruktøren i klassen
Test ?


Meningen er at jeg har en class der laver alt mit html indhold, men da
jeg har brug for lidt udvidelser, da jeg ikke gider sidde og taste menu
creatoren og alle divs ind osv. så vil jeg lave det med en extended
class, og for at få det til at virke er det et krav at jeg lige lære
hvordan man får noget indhold ind i konstruktøren i klassen Test, altså
får lavet en <h1> tekst.

Ovenstående giver bare en normal tekst.

 
 
Peter Farsinsen (09-10-2006)
Kommentar
Fra : Peter Farsinsen


Dato : 09-10-06 09:48

Martin wrote:

> Ovenstående giver bare en normal tekst.

Du smider "tekst" i $this->content(); og får udskrevet "tekst" - ikke
noget underligt der;)

Construtor i parent kaldes parent::__construct($arg);

Altså:

class T2 extends Test {
   __construct($tekst) {
      parent::__construct($tekst);
   }
}

Tjek: http://dk2.php.net/manual/da/language.oop5.decon.php

--
Peter Farsinsen
fornavn@efternavn.dk

Martin (09-10-2006)
Kommentar
Fra : Martin


Dato : 09-10-06 13:12

Peter Farsinsen wrote:
> Tjek: http://dk2.php.net/manual/da/language.oop5.decon.php
>

Ej... jeg var så sikker på jeg havde "læst" på lektien, men åbenbart
ikke helt - også står det øverst på siden :( Nu er jeg lidt rød i hovedet :)

Tak for linket og hjælpen.

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste