Я считаю 2 основные проблемы:
1. Загрузка ресурсов
Я не знаю, если вы изменили код phpBB3, так как если вы не делаете, то ваша проблема другая.
Phpbb3, как и многие системы, не позволяет вам напрямую обращаться к любому файлу, вам нужно пройти через index.php. Как вы можете видеть в common.php
if (!defined('IN_PHPBB'))
{
exit;
}
IN_PHPBB определяется в index.php, так что вы можете просто использовать
Кроме того, common.php и другие файлы, делает использование $ phpbb_root_path, что определяется в index.php. Так, по крайней мере, когда вы собираетесь включить common.php вам нужно
$zf_dir = getcwd();
chdir('/var/www/html/phpBB3');
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
include('common.php');
...
chdir($zf_dir);
вероятно, есть и другие вещи, которые вы должны заботиться о.
2. Переменные прицелы
Кроме того, подумайте, чем в PHP, как и почти на всех языках, переменная, объявленная внутри функции, считается локальным, и будет определено вне этой функции. Так что, если вы сделаете это внутри callForumAPI(), у вас не будет какой-либо переменной снаружи, и, кроме того, в зависимости от того, где вы делаете это, это может быть фактически внутри функции, независимо от того, можете ли вы ее заметить или нет , так как ZF2 представляет собой каркасную работу со сложной архитектурой без овуаций.
Итак, я рекомендую, как только вы загрузите файл, использовать диспетчер служб ZF2 для хранения всех переменных и объектов, которые вы использовали бы в своем приложении. Это хорошая мера, даже если вам это не нужно, так как таким образом вы можете максимально интегрировать все, что важно, чтобы минимизировать и локализовать доступ к phpbb3, поскольку он не предназначен для библиотеки, обслуживание может быть сложным , поэтому, если все пользователи находятся в одном файле, а затем вы создаете свой собственный внутренний api через диспетчера служб, он будет более инкапсулирован и лучше. Я полагаю, вы уже знаете, как это сделать, если вы этого не сделаете, просто дайте мне знать.
попробовать это, и скажите мне, если его достаточно или нам нужно больше исследований
Нет, я не изменил код PHPBB, и в действительности я определить IN_PHPBB и PHPBB_ROOT_PATH, но для простоты я не включал эти детали в сообщении. В любом случае, ваши предложения из «Области переменной» - это именно то, что мне нужно. Я попробую их и вернусь с результатом. Спасибо, Кэролс! – sica07