Перейти к содержимому


Доп действие в внешнем файле


В теме одно сообщение

#1 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 19 Апрель 2016 - 00:33

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

use Monolog\Handler\StreamHandler;
use Monolog\Logger;
require_once $config['site_path']."/modules/edb/vendor/autoload.php";
$log = new Monolog\Logger("test");
$log->pushHandler(new StreamHandler($config['site_path'].'/modules/edb/logs.log', Logger::WARNING));
$log->addAlert("=======================");
$log->addAlert("line", $line);

и помещаем его /modules/edb/140416.php. Добавляем код в доп. действие

require_once $config['site_path']."/modules/edb/140416.php";

Выбираем несколько записей в режиме таблицы и нажимаем на доп. действие. Видим в логах только один массив $line.
016-04-19 00:23:35] test.ALERT: +++++++++++++++ [] []
[2016-04-19 00:23:35] test.ALERT: line {"id":"374","user_id":"1","add_time":"2016-02-16 00:00:00","status":"0","f8601":"66","f8611":"2015-02-10 00:00:00","f8621":"8948","f8631":"Финский","f8641":"Индивидуально","f8651":"Общая","f8661":"60 минут","f8671":"Да","f8681":"","f8691":"1","f8771":"0","f8811":"Русскоязычного","f8821":"0","f10221":"0","f10651":"0","f10661":"Проверка граматика при помощи теста. Разговорная практика. Описание ситуации.","f10691":"400","f10701":"400.00","f10711":"8","f11011":"ОК","f11021":"0.00","f11031":"","r":"0","u":"0"} []

Берем код из внешнего файла и добавляем в доп действие, все ок - видим несколько записей $line в логах. Каким образом происходит выполнение кода доп. действия? Из тп отправили на форум.

Путем экспериментов пришел к выводу подключать файл через require
require $config['site_path']."/modules/edb/140416.php";
Это есть норма?

Сообщение отредактировал wondertalik: 19 Апрель 2016 - 00:34


#2 Timur

    Активный участник

  • Техподдержка ООО "КБ"
  • PipPipPip
  • 872 сообщений
  • Пол:Мужчина

Отправлено 19 Апрель 2016 - 17:15

Просмотр сообщенияwondertalik (19 Апрель 2016 - 00:33) писал:

Это есть норма?

Да, так и должно быть, т.к. команда require_once вызывается только 1 раз, а код доп.действия вызывается по каждой записи заново.





Количество пользователей, читающих эту тему: 4

0 пользователей, 4 гостей, 0 анонимных