我試圖在Kohana中實現一個phpBB庫。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);
我然後收到以下錯誤:
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
繼我已經創建了自己的Kohana的會話類的版本和模塊中保存了他們的Michal M提出的解決方案。我不得不復制,重命名和編輯這些文件是:
/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現在作爲一個包含,因爲我不再使用Session類。
錯誤正在觸發,因爲phpBB和Kohana都有一個Session類。沒有解決方案。 – shadowhand 2012-01-09 18:04:35
怎麼能沒有解決方案? CodeIgniter允許它工作:http://codeigniter.com/wiki/phpBB3_library我認爲Kohana是CodeIgniter框架的偏移量。 – diggersworld 2012-01-10 09:26:09
您是否真的成功實施了橋接?你可以分享一些資源嗎?謝謝 – zinovii 2012-03-12 16:43:26