Задать вопрос
Kozack
@Kozack
Thinking about a11y

Возможно ли объявлять функции взависимости от условия?

$needfunction = false;
if ($needfunction) {
    function SomeFunction() {
        // code ...
    }
}

Будет ли объявлена такая функция?
  • Вопрос задан
  • 2266 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 2
alexclear
@alexclear
A cat
Функция объявлена будет, но она не будет известна за пределами блока if { }. Но можно сделать несколько иначе:

$needfunction = false;
$function = null;
if ($needfunction) {
    $function = function () {
        echo "Hello world!";
    };
}

if($function) {
    $function();
}
Ответ написан
BuriK666
@BuriK666
Компьютерный псих
PHP динамический ЯП, если условие сработает то будет функция...... но ИМХО таких вещей лучше избегать... Продумайте логику без таких хаков.

PS если все же так сделаете, то перед вызовом Вам стоит проверять function_exists
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
samoilenkoevgeniy
@samoilenkoevgeniy
Lead Full-Stack Web Developer
Мне кажется, быстрей проверить, чем создавать на эту тему вопрос на тостере...
Ответ написан
Комментировать
@andreyqin
А проверить никак? Конечно будет, почему нет?
Ответ написан
Комментировать
Roquie
@Roquie
А зачем? Объявите функцию, напишите логику, а там, при необходимом условии вызывайте ее. Создавать функции внутри условий нет необходимости.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы