plumbe Skrevet 1. mai 2005 Del Skrevet 1. mai 2005 har sett dette flere steder i et script, f.eks $this->iteminfo[price]. Hvordan fungerer det? Lenke til kommentar
phanti Skrevet 2. mai 2005 Del Skrevet 2. mai 2005 Det har med synlighet av variabler i OOP å gjøre. Les mer på php.net $this-> er en slags peker som settes foran klassevariabelnavnet. Lenke til kommentar
jorgis Skrevet 2. mai 2005 Del Skrevet 2. mai 2005 (endret) A pseudo-variable, $this is available when a method is called from within an object context. $this is a reference to the calling object (usually the object to which the method belongs, but can be another object, if the method is called statically from the context of a secondary object). $this er altså en spesiell variabel (tror ikke du har lov til å lage egne variabler med det navnet) som alltid vil peke til den klassen du er i. $this->variabel vil da være det samme som $objektVariabel->variabel, bare at $this skjer fra innsiden av klassen. Fordelen ved å bruke $this istedenfor bare variabelnavnet du gir klassen, er at du kan flytte klassen til andre prosjekter og bruke den under andre variabelnavn uten å måtte endre på selve klassen: class fiskeklasse { var $fisk; //variabel, men deklareres med nøkkelordet var function settantallfisk($nyttantall) //vanlig funksjon, endrer verdien til $fisk { $this->fisk = $nyttantall; return true; } } $fisk_i_havet = new fiskeklasse; Hvis du nå bestemte deg for å bruke navnet $fiskeklasse istedenfor $fisk_i_havet, ville du ikke måtte endre på koden i selve klassen, noe du måtte ha gjort hvis du f.eks. hadde brukt $fisk_i_havet->fisk = $nyttantall; istedenfor $this. Håper det klarner opp ting litt. EDIT: http://www.php.net/manual/en/language.oop5.basic.php Endret 2. mai 2005 av jorgis Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå