Подтвердить что ты не робот

Есть ли предел в PHP для длины имени переменной или имени функции?

Если бы я хотел написать очень длинное имя переменной, например:

$this_is_my_variable_that_does_something_in_the_following_function_and_provides_some_information_with_which_the_function_relies_upon_to_do_all_the_work_it_needs = null;

будет работать? тот же вопрос для имен функций/методов

4b9b3361

Ответ 1

Как правило, такой предел накладывается угрозой насилия со стороны других людей, которые взаимодействуют с вашим кодом.

Ответ 2

Из документации:

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

То же самое относится и к именам функций, как указано здесь.

Ответ 3

Предел в переменной/функции/методе/длина имени класса не существует.

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

Однако это чрезвычайно полезная функция PHP, которая очень хорошо используется во множестве очень популярных проектов, таких как Twig на пример, который генерирует классы, например (фрагмент):

class __TwigTemplate_9601167421099bbb502d119e674fed3fb71769eef256903648c9c2b4b6faa436 extends \Twig_Template {

    protected function doDisplay(array $context, array $blocks = array())
    {
        $__internal_0abebc74dd811fd7b4cfa4c6a2fdf870d7723c04e8daf6926b04914d6644935f = $this->env->getExtension("native_profiler");    
    }

}

У меня была возможность воспользоваться тем же свойством, что и в моих проектах.

В заключение:

  • Нет ограничений в длине имени var/func/class
  • Это чрезвычайно полезная функция языка
  • Существует контекст для его использования, конечно, это не для повседневной работы.

Ответ 4

Нет ограничений - но это очень не рекомендуется, поскольку он создает нечитаемый код...

Ответ 5

PHP не устанавливает ограничение длины на его идентификаторы.

Тем не менее, я не уверен, почему кто-нибудь захочет создать имя переменной в 160 символов. Надеюсь, это гипотетический вопрос.

Ответ 6

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

Цитата связана с постом:

Любой может написать код, понятный компьютеру, попытаться написать код, понятный человеку ".