Использовать функцию внутри класса в другом скрипте PHP

D
На сайте с 28.06.2008
Offline
1104
129

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

Я думал что достаточно в нужном мне месте прописать условие и по этому тригеру сделать require_once нужного файла и вызвать нужную функцию. Но видать не все так просто.

Итак что я наговнокодил.

                        if (!empty($result_firm[0]['agentId'])){
                           require_once '/var/www/com/administrator/components/com_comments/helpers/query.php';
                                //узнаем max(id) чтобы понять под каким ID добавится новый коммент
                                $maxID = $conn->query("SELECT max(id) FROM `xyfq1_comments_items`");
                                $result_maxID = $maxID->fetchAll(PDO::FETCH_ASSOC);
                                $id_comment = (int) $result_maxID[0]['max(id)'] +1;
                                // Добавляем рассылку
                                CommentsHelperQuery::setNotification('com_firm', $result_firm[0]['id'], $id_comment, 1);
                        }

Вот функцию setNotification которая внутри класса CommentsHelperQuery я и хотел вызвать. Но мой говноскрипт перестает работать (даже базовый его функционал, не говоря уже о вызове данной функции) и я не особо понимаю как дебажить ибо запускается мой говнокод через аякс запрос из фронта.

Я попытался обернуть этот кусок в try, а ошибки записать в файл через такую констуркцию

catch (Exception $e) {
                file_put_contents('/var/www/com/test.txt', $e. PHP_EOL, FILE_APPEND | LOCK_EX);
                continue;
            }

Но там пусто... (тестово пробовал записать туда значения переменных, они пушутся все норм.)

В общем подскажите где ошибаюсь и как правильно в таком случаи понять в чем ошибка?

Алеандр
На сайте с 08.12.2010
Offline
191
#1
Dram :
В общем подскажите где ошибаюсь и как правильно в таком случаи понять в чем ошибка?
Смотреть логи на предмет ошибок. Раз все перестает работать, то вариант, что или что-то не правильно вызывается, либо, что не менее вероятно - вызываемая функция использует переменные и функции, расположенные в других файлах движка. И, если они не доступны, то код будет падать с ошибкой отсутствия тех или иных функций.
lutskboy
На сайте с 22.11.2013
Offline
176
#2

включить ошибки в самом начале скрипта

ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
Dram :
//узнаем max(id) чтобы понять под каким ID добавится новый коммент

зачем?. для етого есть last insert id

D
На сайте с 28.06.2008
Offline
1104
#3
lutskboy #:
last insert id

Спасибо, не знал. 

lealhost
На сайте с 07.06.2014
Offline
136
#4
Dram :

и я не особо понимаю как дебажить ибо запускается мой говнокод через аякс запрос из фронта.

CTRL+SHIFT+I в браузере, вкладка Network, находим ajax запрос, кликаем левой кнопкой мыши, смотрим вкладку Response, там и будет вывод от скрипта.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий