Konstanter: Skillnad mellan sidversioner
Admin (diskussion | bidrag) |
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
||
Rad 39: | Rad 39: | ||
</code> | </code> | ||
Notera: För våra ändamål här är en bokstav a-z, A-Z och ASCII-tecken från 128 till 255 (0x80-0xff). | Notera: | ||
'''För våra ändamål här är en bokstav a-z, A-Z och ASCII-tecken från 128 till 255 (0x80-0xff).''' | |||
Liksom superglobaler är en konstants omfattning global. Konstanter kan nås från var som helst i ett skript oberoende av omfattning. För mer information om omfattning, läs manualavsnittet om variabelomfattning. | Liksom superglobaler är en konstants omfattning global. Konstanter kan nås från var som helst i ett skript oberoende av omfattning. För mer information om omfattning, läs manualavsnittet om variabelomfattning. | ||
Notera: Från och med PHP 7.1.0 kan klasskonstanter deklarera en synlighet som skyddad eller privat, vilket gör dem endast tillgängliga i den hierarkiska omfattningen av klassen där den är definierad. | '''Notera:''' | ||
Från och med PHP 7.1.0 kan klasskonstanter deklarera en synlighet som skyddad eller privat, vilket gör dem endast tillgängliga i den hierarkiska omfattningen av klassen där den är definierad. |
Versionen från 14 augusti 2024 kl. 16.49
Konstanter
Innehållsförteckning
En konstant är en identifierare (namn) för ett enkelt värde. Som namnet antyder, kan detta värde inte ändras under skriptets utförande (utom för magiska konstanter, som egentligen inte är konstanter). Konstanter är skiftlägeskänsliga. Enligt konvention är konstantidentifierare alltid skrivna med versaler.
Notera:
Före PHP 8.0.0 kunde konstanter som definieras med funktionen define() vara skiftlägesokänsliga.
Namnet på en konstant följer samma regler som vilken etikett som helst i PHP. Ett giltigt konstantnamn börjar med en bokstav eller ett understreck, följt av valfritt antal bokstäver, siffror eller understreck. Som ett reguljärt uttryck skulle det uttryckas så här: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$
Det är möjligt att definiera konstanter med reserverade eller till och med ogiltiga namn, vars värde endast kan hämtas med funktionen constant(). Detta rekommenderas dock inte.
Tips
Se även Användarnamnsguiden.
Exempel #1 Giltiga och ogiltiga konstantnamn
<?php
// Giltiga konstantnamn
define("FOO", "något");
define("FOO2", "något annat");
define("FOO_BAR", "något mer");
// Ogiltiga konstantnamn
define("2FOO", "något");
// Detta är giltigt, men bör undvikas:
// PHP kan en dag tillhandahålla en magisk konstant
// som kommer att bryta ditt skript
define("__FOO__", "något");
?>
Notera:
För våra ändamål här är en bokstav a-z, A-Z och ASCII-tecken från 128 till 255 (0x80-0xff).
Liksom superglobaler är en konstants omfattning global. Konstanter kan nås från var som helst i ett skript oberoende av omfattning. För mer information om omfattning, läs manualavsnittet om variabelomfattning.
Notera:
Från och med PHP 7.1.0 kan klasskonstanter deklarera en synlighet som skyddad eller privat, vilket gör dem endast tillgängliga i den hierarkiska omfattningen av klassen där den är definierad.