2010-09-18 3 views
0

Я пытаюсь интегрировать свою систему входа в систему с PHP с помощью системы входа в систему PHPBB. Моя проблема заключается в том, что я включаю документ для входа PHP, который содержит класс с именем $user, но моя система входа также использует $user. Например, моя функция для входа выполняется внутри класса с именем $ user, а класс входа в phpbb - $ user-> loginPHP Переменные с таким же именем

Возможно ли загрузить документ phpbb и войти в отдельный вид «среды» на мой главный сайт?

Если вам нужно больше информации, просто дайте мне знать

+0

Под "окружающей среды" вы имеете в виду сферу. Вы должны использовать классы для Facebook и для своей системы входа, тогда у вас будет $ facebook-> user, $ login-> user. – fredley

+1

вы нашли вескую причину, чтобы избежать глобальных переменных :) –

+0

Можете ли вы показать нам код, вызывающий проблему, пожалуйста. – RobertPitt

ответ

3

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

+0

Класс не может начинаться с '$'! Вы имеете дело с * экземпляром * класса, и этот экземпляр может быть создан и использован в другой области области видимости. – NikiC

0

Не можете ли вы изменить переменную?

Такие, как

<?php 
    include 'the/phpbb/core.pohp'; 

    $phpbb_user = $user; 

    include 'my/login.pohp'; 

    if($user->valid_uid($phpbb_user->uid)) 
    { 
    } 
?> 

редактирует:

Вы можете добавить вторую переменную

Открыть common.php и найти следующее:

$user = new user(); 

добавить После

$backup_user = $user; 
+0

Проверьте мое обновление! – RobertPitt

+0

вы можете создать статический класс для установки/получения объектов, статический класс будет иметь глобальную область доступа, но объекты, хранящиеся внутри них, будут привязаны к области класса. – RobertPitt

Смежные вопросы