Задать вопрос
Профиль пользователя заблокирован сроком с 10 апреля 2022 г. и навсегда по причине: систематические нарушения правил сервиса
  • Текст в функцию php?

    FanatPHP
    @FanatPHP
    $uid, а в плагине она есть.

    я не собираюсь морочится с $uid в плагине

    ага, логика аж зашкаливает
  • Текст в функцию php?

    FanatPHP
    @FanatPHP
    , чем больше функций последовательно - тем медленнее.

    это при чем здесь вообще?
  • Текст в функцию php?

    FanatPHP
    @FanatPHP
    index.php есть переменные, кроме $uid, а в плагине она есть.

    Извини, я действительно не успеваю за твоей logic.

    Хорошо, в индексе $uid нету, а в плагине есть.
    Переписываем
    func1.php
    <?php
    $a = 1;
    $b = 3;
    $uid = 666;
    return "<span>".($a + $b +$data)."</span> Uid: $uid";

    index.php
    <?php
    $data = 20;
    $mata = "Вася";
    $result = '';
    foreach (['func1'] as $file) {
        $restlt .= include $file;
    }
    echo $result;

    Кто тут тебе что рассказывает?
  • Текст в функцию php?

    FanatPHP
    @FanatPHP
    У тебя logic ещё не отросла.
    Ты из всего процесса видишь один прыщик на ноге у слона. И тебе кажется, что если прыщиков станет два, то уже всё, слон провалится на другую сторону Земли под такой тяжестью.
    Просто не надо рассуждать о вещах, о которых не имеешь даже приблизительного отношения.
    Лучше постарайся понять код, который тебе принесли на блюдечке.

    Выше приведен готовый код. Как я понимаю, как пример для изучения он не годится, поскольку ты не понимаешь даже простейший РНР код.
    Поэтому просто, не рассуждая, берешь, создаёшь файлы func1.php, func2.php, index.php, записываешь в них код, и запускаешь index.php
    И только потом начинаешь рассказывать мне сказки, что в инклюде не видны переменные.
    приступай.
  • Текст в функцию php?

    FanatPHP
    @FanatPHP
    и почему в ключ мы должны вставить переменную переменой?

    потому что ключ -это имя функции, а значение - имя переменной которая в неё передаётся
  • Текст в функцию php?

    FanatPHP
    @FanatPHP
    Во-первых, при чем здесь "создание"?!
    Это же плагины, которые ты пишешь заранее.
    Откуда здесь возьмется создание и удаление?
    Вот я написал код
    foreach (['func1','func2'] as $file) {
        $restlt .= include $file;
    }
    echo $result;

    Ну покажи мне пальцем - где здесь создание и где удаление?!

    Во-вторых, даже с созданием и удалением - рассуждения про "будит очинь медленно" - это бессмысленные фантазии. Сейчас не 1980 год. И у тебя сайт крутится не на гибком диске.
    Откуда эта дичь в голове про "обработки тяжелых данных"?
  • Текст в функцию php?

    FanatPHP
    @FanatPHP
    что такое $function в $function($$param);

    Ты синтаксис РНР вообще знаешь? Сколько дней ты РНР изучаешь?
    Может быть сначала подтянуть немножко базовый синтаксис, а потом уже писать свои плагины?
    $function - это ключ массива, который перебирает foreach

    Когда плагинов будет много это будет не так быстро подключаться и выполняться как хотелось.

    Это тебе кто сказал? Пацаны за гаражами? И ты поверил? А если скажут что детей аист приносит - тоже поверишь?
  • Текст в функцию php?

    FanatPHP
    @FanatPHP
    а если уж делать в одном файле, то я так и не понял, в чем проблема

    func1.php
    <?php
    $a = 1;
    $b = 3;
    return "<span>".($a + $b +$data)."</span>";


    func2.php
    <?php
    $a = "Hello";
    return "<b> $a $mata</span>";


    index.php
    <?php
    $data = 20;
    $mata = "Вася";
    $result = '';
    foreach (['func1','func2'] as $file) {
        $restlt .= include $file;
    }
    echo $result;

    что с этим кодом не так?
  • Текст в функцию php?

    FanatPHP
    @FanatPHP
    господи, ну и каша
    зачем каждый файл содержит только одну функцию? ты же упирался ради того чтобы функций было несколько?
    зачем call_user_func_array? Это бессмысленная функция
    чем не устроил код который я писал выше?
    $massive = ['func'=> 'data'];
    foreach($massive as $function => $param) {
        $function($$param);
    }
  • Текст в функцию php?

    FanatPHP
    @FanatPHP
    я про другой вариант, про вызов функций в цикле из массива
  • Текст в функцию php?

    FanatPHP
    @FanatPHP
    если честно, то я не могу врубиться в эту схему.
    Ну оставляй функции тогда
    только ради бога без eval.
    чем не устроил вариант, который я давал выше?
  • Текст в функцию php?

    FanatPHP
    @FanatPHP
    PHP - мультипарадигменный язык, который не обязывает использовать классы и автозагрузку.

    Не обязывает.
    но require_once - по-любому костыль. Который нужен только в случае если код представляет из себя адов винегрет, и программист не знает, где у него какие файлы подключаются.
    Была нужна только во времена, когда не было автозагрузки, и приложение могло использовать несколько сторонних библиотек, каждая из которых могла требовать одни и те же зависимости.
    Сейчас эти проблемы решаются с помощью композера и автолоада.
    поэтому применение require_once является избыточным. Если вдруг в коде встретится повторная загрузка одного и того же файла - это значит что надо исправить код, сделать его логичным. А не ставить костыль.
  • Текст в функцию php?

    FanatPHP
    @FanatPHP
    ну да
    я и говорю - зачем вообще делать функции если можно просто написать код и положить в файл
    и потом его просто инклюдить по списку

    хотя конечно можно и с функциями, но мне кажется что с файлами проще
  • Текст в функцию php?

    FanatPHP
    @FanatPHP
    Это какая-то система плагинов что ли?
    Я не понимаю.
    Почему нельзя просто сделать несколько файлов без всяких функций, каждый файл выполняет какую-то одну функцию. И просто в массиве их перечислить и инклюдить в цикле
  • Почему пишет No such file or directory хотя файл есть?

    FanatPHP
    @FanatPHP
    Я согласен с тем что тон моего ответа немного снисходительный.
    Но никого оскорблять я не собирался.
  • Текст в функцию php?

    FanatPHP
    @FanatPHP
    Можно подробнее описать задачу?
    что значит "импортировать некоторое количество РНР файлов"?
    Никто в целом мире никогда не сталкивался с такой задачей и поэтому я не представляю, как это выглядит, а главное - зачем нужно.
  • Текст в функцию php?

    FanatPHP
    @FanatPHP
    А, сорян. Не увидел, что здесь речь про call_user_func_array. Это в call_user_func надо по ссылке
    ну в любом случае остальные аргументы остаются те же.

    Согласен с Кириллом. Удаляются из языка потенциально вредные или несовместимые конструкции.
    А удалять те, которые просто не нужны - это стрелять себе в ногу, ухудшая совместимость легаси кода.

    На вопрос, есть ли смысл в использовании call_user_func, начиная с версии 7.0, Никита ответил"No"
  • Текст в функцию php?

    FanatPHP
    @FanatPHP
    Если функцию не объявили устаревшей, это не значит что она нужна в новом коде. С появлением автолоада и require_once стала не нужна, но объявлять ее устаревшей будет просто глупо.
    Отсутствие необходимости использования и физическое удаление из языка - это две большие разницы.

    Если говорить про call user func вообще, то вызов функции по имени - не единственный вариант ее применения. И универсальный синтаксис переменных как раз закрыл все остальные случаи.

    Если говорит о проблемах этого бедолаги, которому нужен только вызов по имени, то тем более ему не нужна call user func, с ее адовым требованием передавать аргументы только по ссылке.

    Л - Логика :)
  • Текст в функцию php?

    FanatPHP
    @FanatPHP
    Ну и оператора распаковки аргументов, который здесь не нужен, но просто для полноты картины