Програмиране: За какво е псевдопроменливата $ This в PHP и как да я използвам?

Съдържание:

Програмиране: За какво е псевдопроменливата $ This в PHP и как да я използвам?
Програмиране: За какво е псевдопроменливата $ This в PHP и как да я използвам?

Видео: Програмиране: За какво е псевдопроменливата $ This в PHP и как да я използвам?

Видео: Програмиране: За какво е псевдопроменливата $ This в PHP и как да я използвам?
Видео: Учим PHP за 1 Час! #От Профессионала 2024, Ноември
Anonim

Когато изучават интерпретирания език PHP, начинаещите уеб програмисти се натъкват на такова понятие като псевдо променливата $ this. Неговата цел и правила за използване в кода са много различни от всички други променливи, така че си струва да се спрем подробно на този въпрос.

Програмиране: За какво е псевдопроменливата $ this в PHP и как да я използвам?
Програмиране: За какво е псевдопроменливата $ this в PHP и как да я използвам?

Класове и предмети

Обектно-ориентираното програмиране (OOP), което се използва в PHP от версия 5, предоставя на програмиста възможността да създава произволен брой екземпляри от същия клас, наречени обекти; в този случай всяко създадено копие получава своето име. Обектът може да приема данни, наречени аргументи, да ги обработва с функции и да връща резултат. Всяка функция на клас може да осъществи достъп до свойствата си не директно, а само чрез конструкцията на обект-> свойство, така че възниква въпросът: как да напишем такъв универсален код, който ще позволи на всеки генериран обект да работи с данни, независимо от името му? Помислете за примера, показан на фигура 1.

Изображение
Изображение

Този код декларира клас, който има променлива (свойство) и две функции (методи), едната от които е конструктор, т.е. автоматично стартира, когато се създаде нов обект. Задачата на конструкторската функция е да присвоява данните на свойството, което се получава от аргумента при създаването на обекта. Когато бъде извикан, методът връща стойността на свойството.

След това разгледайте редове 12 и 13. В тях се създават два нови екземпляра на класа, единият от които получава числото 5 като аргумент, а другият - 7. Тези стойности се присвояват от функцията конструктор на променлива (свойство), което е достъпно само в рамките на класа. Всеки създаден обект се присвоява на променливи и съответно (по-точно тези променливи получават само препратки към посочените обекти, но това в момента няма значение). Сега можете да получите стойностите на свойствата с просто извикване на метод (редове 15 и 16).

Присвояване на $ тази псевдопроменлива

Моля, обърнете внимание: имаме два различни обекта с абсолютно еднакви методи.

И тук на помощ идва псевдопроменливата. Името му може да се преведе от английски като "това", т.е. указва (е връзка) към обекта, в който се намира. В резултат на това ред 5 за може да се чете като „присвояване на стойността на аргумент на свойство на обект“, ред 8 - „връщане на стойността на свойство на обект“. Защото променливата автоматично ще приеме съответната стойност.

Условия за ползване $ this

Препоръчано: