Bruk av meg selv eller $ dette i php

Bruk av meg selv eller $ dette i php

De selv- nøkkelord og $ dette Variabel brukes til to forskjellige formål i PHP-objektorientert programmering. Disse brukes hovedsakelig til å representere klassemedlemmene i en bestemt klasse. De selv- Nøkkelord brukes til å representere dagens og statiske medlemmer av klassen. De $ dette Variabel brukes til å representere det nåværende objektet og ikke-statiske medlemmer av klassen. Funksjonene og bruken av selvnøkkelord og $ Denne variabelen i PHP -klassen er forklart i denne opplæringen.

Selvnøkkelord:

Egenskaper:
Funksjonene i dette nøkkelordet er nevnt nedenfor:

  • Ingen spesielle symbol er påkrevd for å bruke dette nøkkelordet.
  • Det brukes med omfangsoppløsningsoperatøren (: :) av PHP.
  • Det refererer ikke til noen forekomst av klassen.
  • Det representerer de statiske medlemmene i klassen som brukes av alle klasseforekomster.
  • Det krever ikke å sette i gang et objekt.

Syntaks:
selv :: $ static_member

Eksempel 1: Bruk av selvnøkkelordet og ring den statiske funksjonen ved hjelp av objekt

Følgende eksempel viser bruken av selv- nøkkelord for å få tilgang til de statiske medlemmene i enhver klasse. Opprett en PHP -fil med følgende kode som inneholder en klasse som heter “Besøkende”, med en statisk variabel og funksjon. Når noe objekt i denne klassen oppretter, vil den opprinnelige verdien av den statiske variabelen skrives ut. De inkrement_counter () funksjonen vil øke verdien av den statiske variabelen med 1. De selv- Nøkkelord brukes i skriptet for å lese og øke verdien av den statiske variabelen.

klassebesøkende
// definere et statisk medlem
privat statisk $ teller = 1;
// definere konstruktør til verdien av det statiske medlemmet
funksjon __construct ()
ekko "Den opprinnelige verdien er:".selv :: $ teller.""
";

/*Definer en funksjon for å øke verdien av det statiske medlemmet
og returner verdien til den som ringer*/
offentlig statisk funksjon inkrement_counter ()
selv :: $ teller ++;
Retur "Gjeldende verdi er:".selv :: $ teller;


// Lag gjenstand for klassen
$ objekt = ny besøkende ();
// Ring den statiske funksjonen
ekko $ objekt-> increment_counter ().""
";
?>

Produksjon:
Følgende utgang vises etter å ha kjørt skriptet. Den opprinnelige verdien av $ teller er 1, som blir 2 etter økningen.

Eksempel-2: Bruk av selvnøkkelordet og ring den statiske funksjonen direkte

I det følgende eksemplet, boken Klassen inneholder tre statiske variabler, og når objektet for denne klassen opprettes, vil disse variablene bli initialisert med tre verdier ved å bruke selvet nøkkelord. Når Addbook () -metoden vil ringe ved hjelp av objekt, så den statiske metoden, vise(), vil ringe ved å bruke selv- nøkkelord.

Hvordan de statiske medlemmene i klassen kan nås uten å lage noe objekt, vises også i denne opplæringen.

Klassebok

// erklære et statiske medlemmer
offentlig statisk $ id;
offentlig statisk $ boknavn;
public static $ stock_qty;
// erklære konstruktør
offentlig funksjon __construct ($ id, $ boknavn, $ stock_qyt)

selv :: $ id = $ id;
Selv :: $ BookName = $ BookName;
selv :: $ stock_qty = $ stock_qty;

// erklære regelmessig metode
Offentlig funksjon Addbook ($ QTY)

selv :: $ stock_qty += $ quy;
selv :: display ();

// erklære statisk metode
offentlig statisk funksjonsdisplay ()

Ekko "Book ID:".selv :: $ id.""
";
Echo "Boknavn:".selv :: $ boknavn.""
";
Ekko "Nåværende aksje:".Selv :: $ Stock_qty.""
";


// Initialiser de statiske variablene ved bruk av konstruktør
$ BookObject = New Book ('123', 'Learning Php', 120);
// Ring statisk metode ved hjelp av selvnøkkelord
$ BookObject-> Addbook (30);
ekko "------------------------------
";
// Ring statisk metode direkte
Bok :: display ();
?>

Produksjon:
Følgende utgang vises etter å ha kjørt skriptet. Display () -metoden kalles to ganger her. Det kalles ved å bruke selvnøkkelordet og direkte med klassenavnet.

$ Denne variabelen:

$ dette Variabel brukes hovedsakelig i objektorientert programmering for å angi en referanse til det nåværende objektet i klassen. Det brukes til å referere til det ikke-statiske medlemmet og funksjonen til klassen bare ellers vil den generere en feil. Bruken av denne variabelen vises i neste del av denne opplæringen.

Eksempel-3: Bruk av $ denne variabelen for å få tilgang til det private klassemedlemmet

I det følgende eksemplet, kunden Klasse er opprettet med to private medlemmer, en konstruktør og en metode. Private medlemmer av klassen er bare tilgjengelige i klassen. De $ dette Variabel brukes her for å sette og få verdiene til de private medlemmene. Når objektet til klassen er opprettet, vil medlemmene i klassen bli initialisert inne i konstruktøren. Når fullt navn() metoden vil bli kalt, da vil verdiene til de private medlemmene bli skrevet ut ved hjelp av $ dette variabel.

Klassekunde
// erklære privat medlem
Privat $ FIRSTNAME;
privat $ etternavn;
// erklære instruktør
offentlig funksjon __construct ($ fn, $ ln)

$ this-> firstName = $ fn;
$ this-> lastName = $ ln;

// Skriv ut fullnavnet til kunden
offentlig funksjon fullnavn ()
ekko "Kundenavnet er:".$ this-> FirstName."".$ this-> lastName;


// Lag objekt
$ kunde = ny kunde ('Mohammed', 'Rafiq');
// Ring offentlig funksjon fullnavn ()
$ customer-> fullname ();
?>

Produksjon:
Følgende utgang vises etter å ha kjørt skriptet.

Eksempel-4: Bruk av både selvnøkkelordet og $ denne variabelen

Følgende eksempel viser bruken av begge selvet nøkkelord og $ dette variabel. Den ansatte Klassen inneholder et statisk og privat medlem. De selv- nøkkelord brukes til å få tilgang til det statiske medlemmet, og $ dette Variabel brukes til å få tilgang til det ikke-statiske medlemmet i skriptet.

klasseansatt
// erklære et statisk medlem
offentlig statisk $ navn;
// erklære et privat medlem
privat $ lønn;
// erklære konstruktøren
offentlig funksjon __construct ($ navn, $ lønn)

selv :: $ name = $ name;
$ this-> lønn = $ lønn;

// Skriv ut fullnavnet til kunden
offentlige funksjonsdetaljer ()
Ekko "Ansattes navn:".selv :: $ navn.""
";
ekko "Lønn:".$ this-> Lønn;


// Lag objekt
$ emp = ny ansatt ('Mir Sabbir', 500000);
// Ring offentlig funksjon fullnavn ()
$ emp-> detaljer ();
?>

Produksjon:
Følgende utgang vises etter å ha kjørt skriptet. Her er ansattes navn trykt ved hjelp av selvet nøkkelord, og lønnen skrives ut ved hjelp av $ dette variabel.

Videoopplæring

Konklusjon:

Selvet nøkkelord og $ dette Variabel brukes til forskjellige formål i klassen. Begge brukes til å få tilgang til medlemmene i klassen. Bruken av selv- nøkkelord og $ dette Variabler vises ved å bruke fire forskjellige eksempler i denne opplæringen, for å hjelpe leseren til å kjenne bruken av selv- nøkkelord og $ dette variabel, samt bruke dem riktig i PHP -skriptet.