Què són les constants de classe OOP en PHP?

Que Son Les Constants De Classe Oop En Php



Un paradigma de programació conegut com programació orientada a objectes (POO) permet als usuaris escriure programes modulars i reutilitzables. Constant l'ús dins d'una classe és una de les característiques de la POO. Constants de classe en PHP són valors que no es poden modificar després d'haver estat especificats. Són membres de la classe i no estan associats a cap instància de classe específica.

Què són les constants de classe en PHP?

Començar amb, Constants de classe es refereix a un valor que es manté constant al llarg d'un script. En POO, permet al programador definir un valor que té un significat específic dins de la classe i que no es pot actualitzar per cap dels mètodes de classe. El const La paraula clau s'utilitza per especificar constants de classe , que reben un valor constant al llarg de l'script.







A constant de classe és un valor definit dins d'una classe que es manté constant durant l'execució del programa. El terme const s'utilitza per definir-los, seguit del nom i el valor d'aquesta constant. Un cop definits, no es poden canviar durant el temps d'execució.



Per exemple, podem definir a constant de classe per al valor de Pi de la manera següent:



classe de matemàtiques {
const PI = 3.14 ;
}


Aquí, hem definit el constant de classe PI per a la classe de matemàtiques com a 3.14. Com que una constant està lligada a la classe i no una instància d'una classe, podem accedir-hi sense una instància com en:





eco Matemàtiques::PI;


En comparació amb les variables regulars, constants de classe tenen algunes diferències notables. En primer lloc, són immutables, és a dir, no es poden canviar un cop definits. En segon lloc, valors constants distingeixen entre majúscules i minúscules, a diferència de les variables en PHP. A més, les constants es defineixen mitjançant el const paraula clau, mentre que les variables utilitzen la paraula clau era paraula clau, que és una distinció important.

Accés a les constants de classe

Accedint constants de classe es pot fer de dues maneres.



1: Ús de la resolució d'abast (::)

En primer lloc, el constants de classe s'hi pot accedir mitjançant el resolució d'abast (::) operador, com en:

Nom de la classe::CONSTANT_NAME


Mireu un exemple:

< ?php
Persona de classe {
const Nom = 'Larry' ;
const Edat = 32 ;
const Nacionalitat = 'americà' ;
}
eco Persona::Nom, ' \n ' ;
eco Persona::Edat, ' \n ' ;
eco Persona::Nacionalitat;
? >


En el codi anterior, el Persona classe especifica el nom, l'edat i la nacionalitat com a tres constants . Cada constant té una cadena o un valor enter definit per a ella.

El :: s'utilitza conjuntament amb el nom de la constant per accedir al valor d'una constant de classe. Per exemple, fem servir la sintaxi Persona::Nom per recuperar el valor de la Nom constant.

Finalment, imprimim els valors de les constants Nom, Edat i Nacionalitat a la pantalla mitjançant l'ordre echo.

2: Ús de la paraula clau 'self'.

Alternativament, també podem accedir al constants de classe dins de la pròpia classe utilitzant el 'auto' paraula clau seguida del nom constant que s'indica a continuació:

self::CONSTANT_NAME


Mireu un exemple per accedir a una constant utilitzant el jo mateix paraula clau.

< ?php
cercle de classe {
const PI = 3.14159 ;
privat $radi ;
públic funció __construir ( $radi ) {
$això - > radi = $radi ;
}
públic funció Àrea ( ) {
tornar jo::PI * $això - > radi * $això - > radi;
}
}
$cercle = nou cercle ( 16 ) ;
eco $cercle - > Àrea ( ) ;
? >


En aquest exemple anterior, una classe anomenada Circle especifica una propietat privada anomenada $radius i una constant anomenada PI. La fórmula utilitzada pel getArea() funció per obtenir l'àrea d'un cercle és PI * radi * radi , on PI és el valor de la constant PI i radi és el valor del paràmetre $radius.

Dins de getArea() mètode, utilitzem el jo mateix paraula clau seguida del nom de la constant per obtenir el valor de la constant PI: jo::PI .


Hi ha algunes consideracions a tenir en compte a l'hora de definir constants de classe . En primer lloc, assegureu-vos que el nom de la constant de classe sigui únic dins de la classe. En segon lloc, hauria d'adherir-se a les mateixes convencions de nomenclatura que els noms de classe, és a dir, utilitzant Camel Case per a constants. Finalment, és una bona pràctica definir només valors escalars, com ara nombres enters i cadenes, com constants de classe .

Herència de constants de classe

Una altra característica important de constants de classe és que poden ser heretats per classes infantils. En essència, una subclasse pot accedir als valors constants definits per la seva classe pare mitjançant l' pare paraula clau. Per exemple:

< ?php
classe Animal {
const ANIMAL_TYPE = 'mamífer' ;
}
classe El gos s'estén Animal {
públic funció getType ( ) {
eco 'El gos és un' , pare::ANIMAL_TYPE;
}
}
$gos = gos nou ( ) ;
$gos - > getType ( ) ;
? >


En aquesta il·lustració, la classe Animal té una constant amb el valor “ mamífer ” anomenat ANIMAL_TYPE . El gos és una subclasse que deriva de la classe Animal.

La funció pública getType() de la classe Dog simplement emet el valor de la A NIMAL_TYPE constant accedint a la constant de la classe pare mitjançant el pare::paraula clau .

Finalment, construïm un objecte de classe Dog i fem servir el getType() funció, que retorna el valor de la constant heretada de la classe Animal ANIMAL_TYPE .

Conclusió

L'ús de constants de classe és un component clau de la programació orientada a objectes en PHP i altres llenguatges de programació . Mitjançant l'ús de constants de classe , podem evitar valors codificats en dur al programa, cosa que pot ser una molèstia mentre actualitzem el codi. És important adherir-se a les convencions de denominació i tenir en compte l'accessibilitat de les constants de classe dins del programa mentre les defineix.