Programmering: Hva Er $ Denne Pseudovariabelen For I PHP Og Hvordan Bruker Jeg Den?

Innholdsfortegnelse:

Programmering: Hva Er $ Denne Pseudovariabelen For I PHP Og Hvordan Bruker Jeg Den?
Programmering: Hva Er $ Denne Pseudovariabelen For I PHP Og Hvordan Bruker Jeg Den?

Video: Programmering: Hva Er $ Denne Pseudovariabelen For I PHP Og Hvordan Bruker Jeg Den?

Video: Programmering: Hva Er $ Denne Pseudovariabelen For I PHP Og Hvordan Bruker Jeg Den?
Video: Learn PHP 7.1 New Features: #10 The Pseudo-Variable 2024, Kan
Anonim

Når du lærer det tolkespråket PHP, kommer nybegynnere av web-programmerere over et slikt konsept som pseudovariabelen $ this. Hensikten og bruksreglene i koden er veldig forskjellige fra alle andre variabler, så det er verdt å dvele ved dette problemet i detalj.

Programmering: Hva er $ denne pseudovariabelen for i PHP og hvordan bruker jeg den?
Programmering: Hva er $ denne pseudovariabelen for i PHP og hvordan bruker jeg den?

Klasser og gjenstander

Objektorientert programmering (OOP), som har blitt brukt i PHP siden versjon 5, gir programmereren muligheten til å lage et hvilket som helst antall forekomster av samme klasse, kalt objekter; i dette tilfellet får hver opprettet kopi sitt eget navn. Et objekt kan ta data som kalles argumenter, behandle det med funksjoner og returnere et resultat. Enhver funksjon i en klasse kan få tilgang til egenskapene ikke direkte, men bare gjennom objekt-> eiendomskonstruksjonen, så spørsmålet oppstår: hvordan skriver man en slik universell kode som gjør at ethvert generert objekt kan jobbe med data, uavhengig av navnet? Tenk på eksemplet vist i figur 1.

Bilde
Bilde

Denne koden erklærer en klasse som har en variabel (eiendom) og to funksjoner (metoder), hvorav den ene er en konstruktør, dvs. starter automatisk når et nytt objekt opprettes. Jobben til konstruktorfunksjonen er å tilordne dataene til eiendommen som mottas av argumentet når objektet opprettes. Metoden returnerer verdien av eiendommen når den kalles.

Deretter vurderer du linjene 12 og 13. I dem opprettes to nye forekomster av klassen, hvorav den ene mottar tallet 5 som et argument, og den andre - 7. Disse verdiene tildeles av konstruktorfunksjonen til en variabel. (eiendom) som kun er tilgjengelig i klassen. Hvert opprettet objekt tildeles variabler og følgelig (nærmere bestemt mottar disse variablene bare referanser til de spesifiserte objektene, men dette spiller ingen rolle for øyeblikket). Nå kan du få eiendomsverdiene med en enkel metodeanrop (linje 15 og 16).

Tilordner $ denne pseudovariabelen

Merk: Vi har to forskjellige objekter med nøyaktig samme metoder.

Og det er her den pseudovariable kommer til unnsetning. Navnet kan oversettes fra engelsk til "dette", dvs. indikerer (er en lenke) til objektet der den ligger. Som et resultat kan linje 5 for leses som "tilordne verdien av et argument til en objektegenskap", linje 8 - "returner verdien til en objektegenskap". For, variabelen vil automatisk ta på seg riktig verdi.

Vilkår for bruk $ dette

Anbefalt: