/ 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
Class ->
Fra : Michael


Dato : 26-07-02 10:50

Jeg sidder med et mindre problem med nogle class'es..

class Test1 {
function Test1 () {
$this->Var = "Dette er en test";
}
}

class Test2 {
function Test2 () {
print [HER VIL JEG GERNE PRINTE "Dette er en test"]
}
}

De ligger i 2 forskellige filer...

$Test1 = new Test 1 ();
print $Test1->Var; (Virker);

Den eneste mulighed jeg ser, er at gøre sådan:
$Test2 ($Test1);

Det er bare lidt skod at have den med i () - og det giver nogle problemer
videre hen...

Kan det ikke gøres anderledes?

--
Michael Bested




 
 
Michael (26-07-2002)
Kommentar
Fra : Michael


Dato : 26-07-02 10:58

Det er fandme underligt!

Nu virker det med

$Test1->Var

....hvilket det ikke gjorde før :(

Den her computer fejler noget!

--
Michael Bested

"Michael" <support@danskmasterweb.dk> wrote in message
news:ahr60e$3ji$1@sunsite.dk...
> Jeg sidder med et mindre problem med nogle class'es..
>
> class Test1 {
> function Test1 () {
> $this->Var = "Dette er en test";
> }
> }
>
> class Test2 {
> function Test2 () {
> print [HER VIL JEG GERNE PRINTE "Dette er en test"]
> }
> }
>
> De ligger i 2 forskellige filer...
>
> $Test1 = new Test 1 ();
> print $Test1->Var; (Virker);
>
> Den eneste mulighed jeg ser, er at gøre sådan:
> $Test2 ($Test1);
>
> Det er bare lidt skod at have den med i () - og det giver nogle problemer
> videre hen...
>
> Kan det ikke gøres anderledes?
>
> --
> Michael Bested
>
>
>



Flemming Joensson (26-07-2002)
Kommentar
Fra : Flemming Joensson


Dato : 26-07-02 11:27

"Michael" <support@danskmasterweb.dk> wrote in
news:ahr60e$3ji$1@sunsite.dk:

> Den eneste mulighed jeg ser, er at gøre sådan:
> $Test2 ($Test1);
>
> Det er bare lidt skod at have den med i () - og det giver nogle
> problemer videre hen...
> Kan det ikke gøres anderledes?

Er det med vilje at det kun er constructorne du bruger?

Jeg plejer altid et interface til variablen og lave set og get metoder
hvis der er variable jeg skal kunne sætte eller hente uden for klassen.

Mit forslag ville nok være noget i stil med:

class Test1 {
   function Test1() {
       $this->setVar("Dette er en test");
   }

// Set metode til at sætte værdien
   function setVar($varText="Dette er en test") {
       //="Dette er en test" gør at hvis du glemmer at sende en
       // værdi med kaldet til setVar() så får den standardværdien.

       $this->Var = $varText;
   }

// Get metode til at hente værdien
   function getVar() {
       return $this->Var;
   }
}


class Test2 {
   function Test2() {
       // initialisering af klassen
   }

   function printTest1Var($test1Object) {
       print $test1Object->getVar();
   }
}

Dine kald burde så kunne gøres således:
require('filmedtest1.php');
require('filmedtest2.php');

$object1 = new Test1();
$object2 = new Test2();

print $object1->getVar(); // udskriver direkte fra Test1

$object2->printTest1Var($object1); // udskriver i Test2 vha Test1.

Var det mere i den stil du ville have det. Eller er det fordi du gerne
vil have at Var kan tilgåes direkte uden at skulle give Test2 nogen
informationer herom?


Flemming

Michael (26-07-2002)
Kommentar
Fra : Michael


Dato : 26-07-02 11:48

> Var det mere i den stil du ville have det. Eller er det fordi du gerne
> vil have at Var kan tilgåes direkte uden at skulle give Test2 nogen
> informationer herom?

Det var nok for ikke at skulle have puttet informationerne ind i
f (HER) {

men det rtor jeg ikke kan undgås...

--
Michael Bested




Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste