Kozack
@Kozack
Thinking about a11y

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

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

Будет ли объявлена такая функция?
  • Вопрос задан
  • 2265 просмотров
Решения вопроса 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
А зачем? Объявите функцию, напишите логику, а там, при необходимом условии вызывайте ее. Создавать функции внутри условий нет необходимости.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
24 апр. 2024, в 19:40
5000 руб./за проект
24 апр. 2024, в 19:18
50000 руб./за проект
24 апр. 2024, в 19:05
15000 руб./за проект