Обучение/Помощь новичкам | Ооп помощь.
Тема закрыта by
crew_
_TURBO_ (30.10.2017 в 14:21)
Avenax , а если мне допустим надо вытащить данные переменной user из класса User. Так надо? $container -> User -> user; Или что?
Avenax , а если мне допустим надо вытащить данные переменной user из класса User. Так надо? $container -> User -> user; Или что?
Имя класса не нужно
Avenax , хм... А как тогда? Типа $container -> user; ? А как скрипт поймет что это свойство именно из класса User?
Avenax , class User
{
public $user;
function __construct()
{
if (!empty($_SESSION['userId']))
{
if (is_numeric($_SESSION['userId']))
{
$ank = DB::$dbs->querySingle("SELECT COUNT(`id`) FROM `users` WHERE `id` = ?", [$_SESSION['userId']]);
if (!empty($ank))
{
$profile = DB::$dbs->queryFetch("SELECT * FROM `users` WHERE `id` = ?", [$_SESSION['userId']]);
if (!empty($_SESSION['userSession']))
{
if ($_SESSION['userSession'] == $profile['userSession'])
{
$this -> user = $profile;
}
else
{
//self::unsetUser();
}
}
else
{
//self::unsetUser();
}
}
else
{
return false;
}
}
else
{
return false;
}
}
else
{
return false;
}
}
Это часть класса User. То есть мне надо вытаскивать данные из переменной user.
{
public $user;
function __construct()
{
if (!empty($_SESSION['userId']))
{
if (is_numeric($_SESSION['userId']))
{
$ank = DB::$dbs->querySingle("SELECT COUNT(`id`) FROM `users` WHERE `id` = ?", [$_SESSION['userId']]);
if (!empty($ank))
{
$profile = DB::$dbs->queryFetch("SELECT * FROM `users` WHERE `id` = ?", [$_SESSION['userId']]);
if (!empty($_SESSION['userSession']))
{
if ($_SESSION['userSession'] == $profile['userSession'])
{
$this -> user = $profile;
}
else
{
//self::unsetUser();
}
}
else
{
//self::unsetUser();
}
}
else
{
return false;
}
}
else
{
return false;
}
}
else
{
return false;
}
}
Это часть класса User. То есть мне надо вытаскивать данные из переменной user.
_TURBO_ (30.10.2017 в 14:30)
Avenax , хм... А как тогда? Типа $container -> user; ? А как скрипт поймет что это свойство именно из класса User?
Avenax , хм... А как тогда? Типа $container -> user; ? А как скрипт поймет что это свойство именно из класса User?
Твоё сообщение #15, строка 21
Avenax , в johncms что-то похожее реализовано. Но там я вообще не пойму как работает.
Avenax (30.10.2017 в 14:33)
_TURBO_ (30.10.2017 в 14:30)
Avenax , хм... А как тогда? Типа $container -> user; ? А как скрипт поймет что это свойство именно из класса User?
Твоё сообщение #15, строка 21
_TURBO_ (30.10.2017 в 14:30)
Avenax , хм... А как тогда? Типа $container -> user; ? А как скрипт поймет что это свойство именно из класса User?
Твоё сообщение #15, строка 21
А если такая же переменная есть в другом классе?
_TURBO_ (30.10.2017 в 14:35)
Avenax (30.10.2017 в 14:33)
_TURBO_ (30.10.2017 в 14:30)
Avenax , хм... А как тогда? Типа $container -> user; ? А как скрипт поймет что это свойство именно из класса User?
Твоё сообщение #15, строка 21
А если такая же переменная есть в другом классе?
Avenax (30.10.2017 в 14:33)
_TURBO_ (30.10.2017 в 14:30)
Avenax , хм... А как тогда? Типа $container -> user; ? А как скрипт поймет что это свойство именно из класса User?
Твоё сообщение #15, строка 21
А если такая же переменная есть в другом классе?
Да хоть у тебя в каждом классе одинаковое название переменных, методов и свойств
Область видимости переменной не слышал о таком?
Avenax , теперь то я в край запутался...
Avenax , ладно. Спасибо за помощь. Попробую как-то все разобрать...
_TURBO_ , в строке 32 из твоего сообщения #15, ты присваеваешь переменной экземпляр класса User(), через класс App(), который при вызове возвращает тебе уже существующий экземпляр или создаёт его, если нету
Через класс App() ты можешь вызывать User() где угодно , и тебе не надо переживать, что он будет каждый раз снова и снова создаваться,
Через класс App() ты можешь вызывать User() где угодно , и тебе не надо переживать, что он будет каждый раз снова и снова создаваться,