#php
Вопрос:
У меня есть вопрос о магических переменных. Являются ли эти переменные истинными или они являются типом вызова функции? Поскольку PHP является интерпретируемым языком, я очень разборчив в том, как я назначаю переменные. Мне не нравится вызывать функцию несколько раз, если я могу сохранить ответ в переменной и повторно использовать его, не затрачивая время процессора снова и снова. В настоящее время я назначаю DIR локальной переменной и использую эту переменную для всех моих включений и всего, что требует текущего пути к каталогу. Мне интересно, экономит ли это процессорное время для запуска функции. Я потратил некоторое время, просматривая Интернет, но не могу найти ничего, что говорило бы о том, как назначаются эти волшебные переменные.
пример
$dir = __DIR__;
require_once $dir . 'Some Class to Include';
require_once $dir . 'Another Class';
Комментарии:
1. Насколько я понимаю
__DIR__
, это предопределенная константа , которая на самом деле создается только один раз. Разница в том, что (из того, что я читал) он создается один раз независимо от того, вызывается он или нет… С таким же успехом можно использовать его, если он создан и просто сидит там ..2. Вы напрасно тратите свое время .
3. Большое вам всем спасибо. Это именно то, чего я хотел.
Ответ №1:
Все эти «магические» константы разрешаются во время компиляции, в отличие от обычных констант, которые разрешаются во время выполнения.
https://www.php.net/manual/en/language.constants.magic.php
Так что нет, вы не экономите процессорное время