Paradigma programiranja poznata kao objektno orijentirano programiranje (OOP) omogućuje korisnicima pisanje modularnih programa za višekratnu upotrebu. Konstantno korištenje unutar klase jedna je od značajki OOP-a. Klasne konstante u PHP-u su vrijednosti koje se ne mogu mijenjati nakon što su navedene. Oni su članovi klase i nisu povezani ni s jednom specifičnom instancom klase.
Što su konstante klasa u PHP-u?
Početi sa, Klasne konstante odnose se na vrijednost koja ostaje konstantna tijekom skripte. U OOP-u omogućuje programeru definiranje vrijednosti koja ima određeno značenje unutar klase i ne može se ažurirati nijednom metodom klase. The konst ključna riječ se koristi za određivanje konstante klase , kojima se daje konstantna vrijednost tijekom skripte.
A klasa konstanta je vrijednost definirana unutar klase koja ostaje konstantna tijekom izvođenja programa. Uvjet konst koristi se za njihovo definiranje, a zatim slijedi naziv i vrijednost te konstante. Jednom definirani, ne mogu se mijenjati tijekom izvođenja.
Na primjer, možemo definirati a klasa konstanta za vrijednost Pi na sljedeći način:
razreda matematike {
const PI = 3.14 ;
}
Ovdje smo definirali konstanta klase PI za razred matematike kao 3.14. Budući da je konstanta vezana za klasu, a ne instanca klase, možemo joj pristupiti bez instance kao u:
jeka Matematika::PI;
U usporedbi s redovnim varijablama, konstante klase imaju nekoliko značajnih razlika. Prvo, oni su nepromjenjivi, što znači da se ne mogu mijenjati nakon definiranja. Drugo, konstantne vrijednosti su osjetljivi na velika i mala slova, za razliku od varijabli u PHP-u. Nadalje, konstante su definirane pomoću konst ključnu riječ, dok varijable koriste bio je ključna riječ, što je važna razlika.
Pristup konstantama klase
Pristup konstante klase može se izvesti na dva načina.
1: Korištenje rezolucije opsega (::)
Prvo, konstante klase pristupiti pomoću razlučivost opsega (::) operator, kao u:
Naziv klase::CONSTANT_NAME
Pogledajte primjer:
klasa Osoba {
const Naziv = 'Larry' ;
const Starost = 32 ;
const Nacionalnost = 'Američki' ;
}
jeka Osoba :: Ime, ' \n ' ;
jeka Osoba :: Dob, ' \n ' ;
jeka Osoba :: Nacionalnost;
? >
U gornjem kodu, Osoba klasa navodi ime, dob i nacionalnost kao tri konstante . Svaka konstanta ima definiranu vrijednost niza ili cijelog broja.
The :: operator se koristi zajedno s imenom konstante za pristup vrijednosti konstante klase. Na primjer, koristimo sintaksu Osoba :: Ime za dohvaćanje vrijednosti Ime konstantno.
Na kraju ispisujemo vrijednosti konstanti Name, Age i Nationality na ekranu pomoću naredbe echo.
2: Korištenje ključne riječi 'sebe'
Alternativno, također možemo pristupiti konstante klase unutar same klase koristeći `sebe' ključna riječ iza koje slijedi naziv konstante dat u nastavku:
self::CONSTANT_NAME
Pogledajte primjer za pristup konstanti pomoću sebe ključna riječ.
razreda Krug {
const PI = 3.14159 ;
privatna $radijus ;
javnost funkcija __konstruirati ( $radijus ) {
$ovo - > radijus = $radijus ;
}
javnost funkcija Površina ( ) {
povratak ja::PI * $ovo - > radius * $ovo - > radius;
}
}
$krug = novi krug ( 16 ) ;
jeka $krug - > Površina ( ) ;
? >
U ovom gornjem primjeru, klasa pod nazivom Circle specificira privatno svojstvo pod nazivom $radius i konstantu pod nazivom PI. Formula koju koristi getArea() funkcija za dobivanje površine kruga je PI * polumjer * polumjer , gdje je PI vrijednost PI konstante, a polumjer je vrijednost parametra $radius.
Unutar getArea() metodom, koristimo se sebe ključna riječ iza koje slijedi naziv konstante da biste dobili vrijednost PI konstante: ja::PI .
Prilikom definiranja treba imati na umu nekoliko stvari konstante klase . Prvo provjerite je li ime konstante klase jedinstveno unutar klase. Drugo, trebalo bi se pridržavati istih konvencija imenovanja kao i imena klasa, odnosno koristiti Camel Case za konstante. Konačno, dobra je praksa definirati samo skalarne vrijednosti, kao što su cijeli brojevi i nizovi, kao konstante klase .
Nasljeđivanje konstanti klase
Još jedna važna značajka konstante klase je da ih mogu naslijediti podređene klase. U biti, podklasa može pristupiti konstantnim vrijednostima koje je definirala njena nadređena klasa koristeći roditelj ključna riječ. Na primjer:
< ?phprazred Životinja {
const VRSTA_ŽIVOTINJE = 'sisavac' ;
}
razred Pas produžava Životinja {
javnost funkcija getType ( ) {
jeka 'Pas je' , parent::ANIMAL_TYPE;
}
}
$pas = novi pas ( ) ;
$pas - > getType ( ) ;
? >
U ovoj ilustraciji, klasa životinja ima konstantu s vrijednošću ' sisavac ” pod nazivom VRSTA_ŽIVOTINJE . The Pas je potklasa koja potječe iz klase životinja.
Javna funkcija getType() klase Pas jednostavno ispisuje vrijednost od A NIMAL_TYPE konstanta pristupanjem konstanti roditeljske klase pomoću roditelj::ključna riječ .
Konačno, konstruiramo objekt klase Dog i koristimo getType() funkcija koja vraća vrijednost naslijeđene konstante klase Animal VRSTA_ŽIVOTINJE .
Zaključak
Korištenje konstante klase je ključna komponenta objektno orijentiranog programiranja u PHP-u i drugim programskim jezicima . Pomoću konstante klase , možemo izbjeći tvrdo kodirane vrijednosti u programu, što može biti gnjavaža tijekom ažuriranja koda. Važno je pridržavati se konvencije imenovanja i imati na umu dostupnost konstanti klase unutar programa dok ih definirate.