By die aanleer van die geïnterpreteerde taal PHP, kom beginner-webprogrammeerders voor op so 'n konsep soos die pseudovariabele $ this. Die doel en die reëls vir die gebruik daarvan in die kode verskil baie van alle ander veranderlikes, daarom is dit die moeite werd om in detail hieroor te besin.
Klasse en voorwerpe
Objekgeoriënteerde programmering (OOP), wat sedert weergawe 5 in PHP gebruik word, bied die programmeerder die vermoë om enige aantal gevalle van dieselfde klas, genaamd objekte, te skep; in hierdie geval kry elke kopie wat geskep is, sy eie naam. 'N Voorwerp kan data genaamd argumente neem, dit met funksies verwerk en 'n resultaat oplewer. Elke funksie van 'n klas het nie direk toegang tot sy eienskappe nie, maar slegs deur die objek-> eiendomskonstruksie. Die vraag is dus: hoe kan u so 'n universele kode skryf om enige gegenereerde voorwerp met data te laat werk, ongeag die naam? Beskou die voorbeeld in Figuur 1.
Hierdie kode verklaar 'n klas wat 'n veranderlike (eienskap) en twee funksies (metodes) het, waarvan een 'n konstrukteur is, d.w.s. begin outomaties wanneer 'n nuwe voorwerp geskep word. Die taak van die konstruktorfunksie is om die data toe te ken aan die eiendom wat deur die argument ontvang word wanneer die voorwerp geskep word. Die metode, wanneer dit genoem word, gee die waarde van die eiendom terug.
Beskou vervolgens reëls 12 en 13. Daarin word twee nuwe gevalle van die klas geskep, waarvan een die nommer 5 as argument ontvang, en die ander - 7. Hierdie waardes word deur die konstruktorfunksie aan 'n veranderlike toegeken. (eiendom) wat slegs binne die klas toeganklik is. Elke geskepte voorwerp word aan veranderlikes toegeken en gevolglik (meer presies, hierdie veranderlikes ontvang slegs verwysings na die gespesifiseerde voorwerpe, maar dit maak op die oomblik nie saak nie). Nou kan u die eiendomswaardes kry met 'n eenvoudige metode-oproep (reël 15 en 16).
Ken die $ hierdie pseudo-veranderlike toe
Let wel: ons het twee verskillende voorwerpe met presies dieselfde metodes.
En dit is hier waar die skuilveranderlike tot die redding kom. Die naam daarvan kan uit Engels vertaal word as "dit", d.w.s. dui (is 'n skakel) na die voorwerp waarin dit geleë is. As gevolg hiervan kan reël 5 vir gelees word as "ken die waarde van 'n argument toe aan 'n objekteienskap", reël 8 - "gee die waarde van 'n objekteienskap terug". Die veranderlike sal dus outomaties die toepaslike waarde aanneem.