У меня установлена программа mediawiki и phpbb, в которую я успешно интегрировал единый вход.
Проблема была в том, что у них обоих был пользовательский класс, поэтому в mediawiki, когда я вызывал phpbb, это приводило к ошибке обновления класса.
Я справился с этим, проверив, загружается ли файл в MediaWiki. Если это так, вместо этого он вызывает полную копию пользовательского класса phpbb_user. Но мне интересно, есть ли лучший способ. Вот как это работает в настоящее время
if (!defined('FROM_MEDIAWIKI')){
class User extends session{
//user class code
}
}else{
class phpbb_user extends session{
//exact copy of user class code
}
}
Есть ли лучший способ сделать это, не требуя 2 копии класса пользователя?
Я знаю, что вы не можете сделать это, но можете ли вы сделать что-то подобное?
$className = (defined('FROM_MEDIAWIKI'))? 'phpbb_user' : 'User';
class $className extends session{
//user class code
}