PHP предоставя голям брой предварително-дефинирани константи във всеки скрипт, който изпълнява. Много от тези константи, все пак, са създадени от различни разширения и ще бъдат налични единствено, в случай че тези разширения са налични, било то чрез динамично зареждане или защото са били компилирани.
Има седем вълшебни константи, които се променят според мястото, на което се използват. Например, стойността на __LINE__ зависи от реда, на който се използва в скрипта ви. Тези специални константи не са чувствителни към регистъра и са както следва:
Име | Описание |
---|---|
__LINE__ | Текущия номер на реда във файла. |
__FILE__ | Пълния път и име на файла. Ако се използва вътре във включен (include) файл, ще бъде върнато името на включвания файл. След PHP 4.0.2, __FILE__ винаги съдържа абсолютен път с разпънати символни връзки, докато в по-стари версии, при определени обстоятелства, съдържаше относителен път. |
__DIR__ | Директорията на файла. Ако се използва вътре във включен (include) файл, ще бъде върната директорията на включвания файл. Това е равносилно на dirname(__FILE__). Това име на директория няма последваща наклонена черта, освен ако не е коренната директория. (Добавена в PHP 5.3.0.) |
__FUNCTION__ | Името на функцията. (Това беше добавено в PHP 4.3.0) След PHP 5 тази константа връща името на функцията така, както е била дефинирана (чувствително към регистъра). В PHP 4 стойността й винаги е с малки букви. |
__CLASS__ | Името на класа. (Това беше добавено в PHP 4.3.0) След PHP 5 тази константа връща името на класа така, както е бил дефиниран (чувствително към регистъра). В PHP 4 стойността му винаги е с малки букви. |
__METHOD__ | Името на метода. (Това беше добавено в PHP 5.0.0) Връща името на метода така, както е бил дефиниран (чувствително към регистъра). |
__NAMESPACE__ | Името на текущото пространство от имена (чувствително към регистъра). Тази константа се дефинира по време на компилация (Добавена в PHP 5.3.0). |
Вж. също get_class(), get_object_vars(), file_exists() и function_exists().