Константы.




Иногда в PHP переменные довольно неудобно использовать для постоянного хранения каких либо определенных значений, которые не меняются в течение работы программы. Такими значениями могут быть математические константы, пути к файлам, разнообразные пароли и.т.д. Как раз для этих целей в PHP предусмотрена такая конструкция, как константа.

Константы — это идентификаторы (имена) простых значений. Их значение не может изменяться в ходе выполнения скрипта. Имена констант чувствительны к регистру. По принятому соглашению, имена констант всегда пишутся в верхнем регистре.

Имя константы должно соответствовать тем же правилам, что и другие имена в PHP. Правильное имя начинается с буквы или символа подчеркивания и состоит из букв, цифр и подчеркиваний. Регулярное выражение для проверки правильности имени константы выглядит так: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*.

В РНР константы определяются функцией define(). Эта функция имеет формат:

define ($name, $value, $case_sen), где:

$name - имя константы;
$value - значение константы;
$case_sen - необязательный параметр логического типа, 
указывающий, следует ли учитывать регистр букв (true) или нет (false).

Пример:

  <?php
define("pi",3.14,true);
echo pi;
// Выводит 3.14
?>

Различия между константами и переменными:

  • У констант нет приставки в виде знака доллара ($);
  • Константы можно определить только с помощью функции define();
  • Константы могут быть определены и доступны в любом месте без учета области видимости;
  • Константы не могут быть определены или аннулированы после первоначального объявления;
  • Константы могут иметь только скалярные значения.

Предопределенные константы:

PHP предоставляет большой список предопределенных констант для каждого выполняемого скрипта. Многие из этих констант определяются различными модулями и будут присутствовать только в том случае, если эти модули доступны в результате динамической загрузки или в результате статической сборки.

В этот список входит и отдельный вид констант PHP — так называемые «магические константы». Это системные константы, значение которых определяет и устанавливает интерпретатор.

  • __LINE__ Содержит номер текущей строки в текущем файле;
  •     <?php
    echo "Номер строки: " . __LINE__; // Номер строки: 2
    echo "Номер строки: " . __LINE__; // Номер строки: 3
    echo "Номер строки: " . __LINE__; // Номер строки: 4
    ?>
        
  • __FILE__ Содержит полное имя текущего файла;
  •     <?php
    echo "Имя файла: " . __FILE__;
    // Имя файла: C:\openServer\domeins\localhost\index.php
    ?>
        
  • __FUNCTION__ Содержит имя текущей функции;
  •      <?php
         function mySampleFunc() {
        echo  "Имя функции: " . __FUNCTION__;
    }
    mySampleFunc(); //Имя функции: mySampleFunc
         ?>
        
  • __CLASS__ Содержит имя текущего класса;
  •     <?php
        class Sample
    {
        public function __construct() {
            echo __CLASS__;
        }
    }
    $obj = new Sample(); // Sample
        ?>
        
  • __METHOD__ Содержит имя текущего метода текущего класса.
  •     <?php
      class Sample
    {
        public static function myMethod() {
            echo  "Имя метода: " . __METHOD__;
        }
    }
    Sample::myMethod(); // Имя метода: myMethod 
        ?>
        

Эти константы очень удобны при отладке, но во всех других случаях их лучше не использовать.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Chinese (Traditional)EnglishJapaneseRussianUkrainian

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: