/ 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
OOP og "globale" variable....?
Fra : Ukendt


Dato : 10-06-03 00:51

Davs,

Se denne kodestump:

<?php

$testvar='test';

class Demo {

function demoData() {
echo $testvar;
}
}
?>

-hvilket ikke funker...men hvordan kan jeg i funktionen "demoData()" læse en
global variable?

/TH




 
 
Peter Theill (10-06-2003)
Kommentar
Fra : Peter Theill


Dato : 10-06-03 02:39

> -hvilket ikke funker...men hvordan kan jeg i funktionen "demoData()" læse
en
> global variable?

Brug et "super" globalt array:

$GLOBALS['testvar']



--
Peter Theill - http://www.theill.com/



Michael Stimose (10-06-2003)
Kommentar
Fra : Michael Stimose


Dato : 10-06-03 06:37

TH wrote in dk.edb.internet.webdesign.serverside.php:
> Davs,
>
> Se denne kodestump:
>
> <?php
>
> $testvar='test';
>
> class Demo {
>
> function demoData() {
global $testvar;
> echo $testvar;
> }
> }
> ?>
>
> -hvilket ikke funker...men hvordan kan jeg i funktionen "demoData()" læse en
> global variable?
>
> /TH
>
>
>


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Tonni Aagesen (10-06-2003)
Kommentar
Fra : Tonni Aagesen


Dato : 10-06-03 11:09

TH wrote:
> Davs,
>
> Se denne kodestump:
>
> <?php
>
> $testvar='test';
>
> class Demo {
>
> function demoData() {
> echo $testvar;
> }
> }
> ?>
>
> -hvilket ikke funker...men hvordan kan jeg i funktionen "demoData()" læse en
> global variable?
>
> /TH

Send variablen med som parameter:

<?php

class Demo {

function demoData($testvar) {
echo $testvar;
}
}

$obj = new Demo;
$obj->demoData("bla bla bla");

?>


--
Mvh
Tonni Aagesen
<agent29 AT stofanet DOT dk>


Ukendt (10-06-2003)
Kommentar
Fra : Ukendt


Dato : 10-06-03 11:28

Hej,


> Send variablen med som parameter:

Jeps...under normale omstændigheder (og min OO-lærdom) også sådan man bruger
variable til klasser, MEN netop mit eksempel (det fremgår dog ikke) er det
meningen klassen skal fungere som Databaseklasse...Og de variable jeg skal
bruge er så brugernavn,password,server etc. på min database.

-Og dem vil jeg ikke sende som parametre til klassen. Dem ville jeg
inkludere fx. i en "db_args.php"....

/TH



Kasper Garnæs (10-06-2003)
Kommentar
Fra : Kasper Garnæs


Dato : 10-06-03 11:41

TH <th_at_cogito.greatdanedk> wrote:
>> Send variablen med som parameter:
>
> Jeps...under normale omstændigheder (og min OO-lærdom) også sådan man
> bruger variable til klasser, MEN netop mit eksempel (det fremgår dog
> ikke) er det meningen klassen skal fungere som Databaseklasse...Og de
> variable jeg skal bruge er så brugernavn,password,server etc. på min
> database.
>
> -Og dem vil jeg ikke sende som parametre til klassen. Dem ville jeg
> inkludere fx. i en "db_args.php"....

Hvad så med at beholde dit nuværende setup med db_args.php-filen, som jeg
forestiller mig indeholder noget lindende:

$db_host = "foo";
$db_user = "bar";
etc.

Og så lave din klasse noget lignende:

Class DB {

var $host;
var $user;
etc.

function DB ($host, $user etc.) {

}
}

$myDB = new DB($db_host, $db_user);

Det ville efter min mening både give dig mulighed for nemt at ændre på
hvilken database etc. der skal bruges (jeg går ud fra det er baggrunden for
det hele) og samtid lave noget lidt pænene OOP : ).

Mvh.
Kasper Garnæs



Ukendt (10-06-2003)
Kommentar
Fra : Ukendt


Dato : 10-06-03 14:53

Hej,


> $myDB = new DB($db_host, $db_user);

Tjooo...den havde jeg sgu ikke lige tænkt på. Jeg tror jeg er den type som
helst ikke vil have for meget "støj"...forstået på den måde at filen der
opretter klassen (lad os kalde den "test.php") jo så skal includere
databasefilen...OG klassefilen med definitionen på "class DB"...Lidt
støjende i mine øjne da klassefilen jo er den eneste der skal bruge de
parametre :)

-men ok...smag og behag :) - jeg bruger den for det giver mig mulighed for
at komme videre...

/TH



Jacob Atzen (10-06-2003)
Kommentar
Fra : Jacob Atzen


Dato : 10-06-03 17:00

"TH" <th_at_cogito.greatdanedk> writes:

> Hej,
>
>
> > $myDB = new DB($db_host, $db_user);
>
> Tjooo...den havde jeg sgu ikke lige tænkt på. Jeg tror jeg er den type som
> helst ikke vil have for meget "støj"...forstået på den måde at filen der
> opretter klassen (lad os kalde den "test.php") jo så skal includere
> databasefilen...OG klassefilen med definitionen på "class DB"...Lidt
> støjende i mine øjne da klassefilen jo er den eneste der skal bruge de
> parametre :)

Hvad så med at inkludere parametrene fra databaseklassen:

db.php:

include_once("db_settings.php");

class db {
function db() {
$db_settings = new db_settings;
$password = $db_settings->get_password();
etc...
}
}

--
Med venlig hilsen
- Jacob Atzen

Martin C. Petersen (10-06-2003)
Kommentar
Fra : Martin C. Petersen


Dato : 10-06-03 11:53

"TH" <th_at_cogito.greatdanedk> skrev i en meddelelse
news:3ee5b2b2$0$48914$edfadb0f@dtext02.news.tele.dk...
> Jeps...under normale omstændigheder (og min OO-lærdom) også sådan man
bruger
> variable til klasser, MEN netop mit eksempel (det fremgår dog ikke) er det
> meningen klassen skal fungere som Databaseklasse...Og de variable jeg skal
> bruge er så brugernavn,password,server etc. på min database.
>
> -Og dem vil jeg ikke sende som parametre til klassen. Dem ville jeg
> inkludere fx. i en "db_args.php"....
Hvad med at definere dem som konstanter?
http://dk.php.net/manual/en/function.define.php


Martin



Ukendt (10-06-2003)
Kommentar
Fra : Ukendt


Dato : 10-06-03 14:54

Hej,

> Hvad med at definere dem som konstanter?
> http://dk.php.net/manual/en/function.define.php

God ide hvis det fungerer...jeg antog Noob-agtigt at klasser har samme
problemer med konstante som med variable :) - jeg prøver takker...

/TH



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