| PHP Ръководство | ||
|---|---|---|
| Предишна страница | Следваща страница | |
Константата е индентификатор (име) за проста стойност. Както подсказва и името, тази стойност не може да се променя по време на изпълнение на скрипта (с изключение на вълшебните константи, които всъщност не са константи). Константата е чувствителна към регистъра (case-sensitive) по подразбиране. Неписано правило е константните индентификатори да се пишат винаги с главни букви.
Името на константата се подчинява на същите правила, както и всеки етикет в PHP. Валидните имена на константи започват с буква или подчертавка, последвани от коя да е цифра, буква или подчертавка. Като регулярен израз, това може да бъде представено така: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
Поздсказка: Може да погледнете също така .
Забележка: В случая, под буква се разбират a-z, A-Z, и ASCII знаците от 127 до 255 (0x7f-0xff).
Както и за superglobals, обхватът на константата е глобален. Можете да достъпвате константи където и да е във вашия скрипт без оглед на контекста. За повече информация относно обхват и контекст, прочетете раздел Обхват на променливи.
Можете да дефинирате константа посредством функцията define(). Веднъж дефинирана, константата никога повече не може да бъде променяна или отменяна.
В константи могат да се съхраняват единствено скаларни данни (boolean, integer, float и string). Не дефинирайте константи от тип resource.
Можете да вземете стойността на константа, просто като укажете името й. За разлика от променливите, пред константа не трябва да слагате $. Можете също да използвате функцията constant(), за да получите стойността на константа, в случай, че желаете да получите името на константата динамично. За списък с всички дефинирани константи, използвайтеget_defined_constants().
Забележка: Константите и (глобалните) променливи са в различни пространства от имена (namespaces). Това означава, че TRUE и
$TRUEобикновено са различни.
Ако използвате недефинирана константа, PHP приема, че имате предвид името на самата константа, също както ако сте я извикали като string (CONSTANT и "CONSTANT"). Когато това се случи, ще бъде изкарана грешка от ниво E_NOTICE. Вижте също раздела, в който се повдига въпросът защо $foo[bar] е погрешно (освен ако преди това не сте дефинирали с define() bar като константа). Ако просто искате да проверите дали дадена константа е дефинирана, използвайте функцията defined().
Това са разликите между константи и променливи:
Константите нямат знак за долар ($) пред тях;
Константите могат да бъдат дефинирани единствено посредством функцията define(), а не чрез просто задаване;
Константите могат да бъдат достъпвани където и да е без оглед на правилата за обхват на променливите;
Веднъж дефинирани, константите не могат да бъдат предефинирани или премахнати; и
Константите могат да боравят единствено със скаларни стойности.
Вж. също Класови константи.
| Предишна страница | Начало | Следваща страница |
| Външни променливи за PHP | Начало на раздела | Вълшебни константи |