|
| Lokal variabler i klasser Fra : Johnny Jakobsen |
Dato : 26-08-03 22:08 |
|
Hej
Når man laver Klasser i PHP er det så også muligt at definere lokale
variabler for klassen?
Umiddelbart ser det ud til at alle variabler som standart er globale.
-The Baptizer
www.area42.dk
| |
Jacob Atzen (27-08-2003)
| Kommentar Fra : Jacob Atzen |
Dato : 27-08-03 07:48 |
|
"Johnny Jakobsen" <btz@area42.dk> writes:
> Når man laver Klasser i PHP er det så også muligt at definere lokale
> variabler for klassen?
> Umiddelbart ser det ud til at alle variabler som standart er globale.
Hvad mener du med lokale variable for en klasse?
En klasse har attributer, disse defineres med som:
var $foo;
Inde i klassen, men uden for metoderne.
Det er i PHP4 ikke muligt at definere private variable, der kun kan
tilgås fra klassen. Det kommer først i PHP5.
--
Med venlig hilsen
- Jacob Atzen
| |
Johnny Jakobsen (27-08-2003)
| Kommentar Fra : Johnny Jakobsen |
Dato : 27-08-03 12:19 |
|
> > Når man laver Klasser i PHP er det så også muligt at definere lokale
> > variabler for klassen?
> > Umiddelbart ser det ud til at alle variabler som standart er globale.
>
> Hvad mener du med lokale variable for en klasse?
>
> En klasse har attributer, disse defineres med som:
>
> var $foo;
>
> Inde i klassen, men uden for metoderne.
>
> Det er i PHP4 ikke muligt at definere private variable, der kun kan
> tilgås fra klassen. Det kommer først i PHP5.
Det var de private variabler jeg ledte efter, men det må jeg jo så vente med
til PHP5.
-The Baptizer
www.area42.dk
| |
Michael Rasmussen (27-08-2003)
| Kommentar Fra : Michael Rasmussen |
Dato : 27-08-03 16:48 |
|
On Wed, 27 Aug 2003 08:47:52 +0200, Jacob Atzen wrote:
>
> Det er i PHP4 ikke muligt at definere private variable, der kun kan
> tilgås fra klassen. Det kommer først i PHP5.
Hvis man tænker i gamle funktionsorienterede programmeringssprog - Miranda
f.eks, der havde man samme setup som i PHP. Her løstes problematikken ved
at lave functioner, hvis eneste formål var, at gemme værdien af en
variabel. F.eks. kunne man erklærer en metode inde i en anden metode, dog
var den ikke privat i OO forstand, men indholdet var dog beskyttet af den
omkringliggende metode.
--
Hilsen/Sincerely, Michael Rasmussen
En windows admin er en person, for hvem den største bedrift er, at
lave konfiguration af serveren med trial and error via en gui.
| |
Nezar Nielsen (28-08-2003)
| Kommentar Fra : Nezar Nielsen |
Dato : 28-08-03 16:55 |
|
Michael Rasmussen wrote:
>
> Hvis man tænker i gamle funktionsorienterede programmeringssprog - Miranda
> f.eks, der havde man samme setup som i PHP. Her løstes problematikken ved
> at lave functioner, hvis eneste formål var, at gemme værdien af en
> variabel. F.eks. kunne man erklærer en metode inde i en anden metode, dog
Det er vist ca. det samme man får ved at bruge PEAR's (eller sin egen)
getStaticProperty:
* If you have a class that's mostly/entirely static, and you need
static
* properties, you can use this method to simulate them. Eg. in your
method(s)
* do this: $myVar = &PEAR::getStaticProperty('MyClass', 'myVar');
* You MUST use a reference, or they will not persist!
....
function &getStaticProperty($class, $var)
{
static $properties;
return $properties[$class][$var];
}
| |
|
|