Константы.

Иногда в 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 
        ?>
        

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

 
Поделиться в facebook
Facebook
Поделиться в twitter
Twitter
Поделиться в vk
VK
Поделиться в google
Google+
Поделиться в email
Email

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

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

Группа в VK

Помощь проекту

Обнаружили опечатку?

Сообщите нам об этом, выделите текст с ошибкой и нажмите Ctrl+Enter, будем очень признательны!

Свежие статьи

Похожие статьи

Фреймворк Yii

Фреймворк Yii

Yii — это высокоэффективный основанный на компонентной структуре PHP-фреймворк для разработки масштабных веб-приложений. Он позволяет максимально применить концепцию повторного использования кода и может существенно ускорить

 
Библиотека RedBeanPHP.

Библиотека RedBeanPHP.

RedBeanPHP – это мощная ORM для PHP, которая значительно упрощает работу с базами данных. ORM или Object-relational mapping (Объектно-реляционное отображение) — это технология программирования, которая

 
Безопасное хеширование паролей в PHP.

Безопасное хеширование паролей в PHP.

Такие хеширующие алгоритмы как MD5, SHA1 и SHA256 были спроектированы очень быстрыми и эффективными. При наличии современных технологий и оборудования, стало довольно просто выяснить результат

 

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

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