Функциональная оболочка для оператора if

Я нахожусь в ситуации, когда мне нужно сделать много кода для входа в систему. Получил функцию-оболочку, которая вызывает необходимую функцию и записывает связанные данные по пути. Но одна вещь, которая мне была бы интересна, это оболочка для оператора if. Или что-то, что позволило бы мне настроить логирование результата выписки и прочих разного данных в одном месте, а не в десятках.

Что-то на пути

$result = iff([isset($param1) && $param2 == 1]);

function iff($params) {

    if ($params)
        $res = true;
    else
        $res = false;

    $log->save($miscData, $res);

    return $res;

}

Или что-то еще, что позволило бы мне установить какой-то лог в одном месте. Ищем какие-то идеи.

Если вы не возражаете, я спрошу, почему вам нужно регистрировать каждый оператор PHP таким образом? Я не могу придумать функциональной или технической причины для этого.

Dharman 07.03.2019 20:17

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

Martin 07.03.2019 20:28

Это похоже на то, что вы пытаетесь создать отладчик PHP... в PHP

Dharman 07.03.2019 20:31

Возможно, я не все сформулировал идеально и могло создаться впечатление, что я хочу регистрировать каждое отдельное выражение в проекте. Нет нет, это нужно только для одной конкретной модели, которая получает конкретный пакет данных из внешнего источника и обрабатывает/преобразует его и т. д. И для удобства я хочу посмотреть, что с ним происходит шаг за шагом, как он проходит через модель и что выполняется по пути.

Martin 07.03.2019 20:51
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
4
207
1

Ответы 1

Возможно, вы ищете метод func_get_args.

http://php.net/manual/en/function.func-get-args.php

Итак, ваша функция (и пример выполнения) будет выглядеть так:

$result = iff(isset($param1), $param2 == 1);

function iff($params) {

    $numargs = func_num_args();
    $arg_list = func_get_args();
    $res = true;

    for ($i = 0; $i < $numargs; $i++) {
        if ($arg_list[$i] === false) {
            $res = false;
            break;
        }
    }

    $log->save($miscData, $res);

    return $res;
}

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

Другие вопросы по теме