Я пытаюсь реализовать библиотеку phpBB в Kohana.Kohana 3.2 - библиотека phpBB - работа с абстрактными методами
Я создал папку поставщика в моем модуле и загрузить библиотеку, как это и инициализирует его:
require_once Kohana::find_file('vendor/phpbb_library', 'phpbb_library');
$phpbb = new Phpbb_library();
Однако после того, как библиотека начинает пытаться включать файлы PHPBB:
// Include needed files
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'config.' . $phpEx);
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
include($phpbb_root_path . 'includes/functions_privmsgs.' . $phpEx);
include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
I затем получите следующую ошибку:
ErrorException [ Fatal Error ]: Class user contains 5 abstract methods and must therefore be declared abstract or implement the remaining methods (Kohana_Session::_read, Kohana_Session::_regenerate, Kohana_Session::_write, ...)
Теперь включенные файлы являются thos e используется phpBB, поэтому, очевидно, я не могу просто изменить их.
решаемые 01/02/2012
После решения, предложенного Michal M я создал свои собственные версии класса Kohana Session и сохранить их в модуле. Файлы мне пришлось копировать, переименовывать и редактировать были:
/system/classes/session.php
/system/classes/session/cookie.php
/system/classes/session/exception.php
/system/classes/session/native.php
/system/classes/kohana/session.php
/system/classes/kohana/session/cookie.php
/system/classes/kohana/session/exception.php
/system/classes/kohana/session/native.php
Во всех файлов основные изменения, связанные переодевания имена классов Session
к MySiteSession
и Kohana_Session
к Kohana_MySite_Session
. Хотя в файлах /system/classes/kohana
было несколько применений переменных, которые также нуждались в изменении имени.
Теперь, чтобы использовать сеанс, я просто звоню MySiteSession::instance()
.
PHPBB теперь работает как include, поскольку я больше не использую класс Session.
Ошибка инициируется, поскольку у phpBB и Kohana есть класс Session. Для этого нет решения. – shadowhand
Как не может быть никакого решения? CodeIgniter позволяет ему работать: http://codeigniter.com/wiki/phpBB3_library Я думал, что Kohana был смещением рамки CodeIgniter. – diggersworld
Вы на самом деле преуспели в реализации моста? Не могли бы вы поделиться источниками? Спасибо – zinovii