Духовность™
Продвинутый новичок
Одна абстрактная сущность - один набор методов?
Простите за не информативный заголовок, лучше не мог придумать =)
У меня сейчас возникла такая ситуация: я имею класс (классы или структурное программирование - не суть важно) для работы с заголиневшемся пользователем на САЙТЕ, фронтенд. Если абстрактно, то класс имеет такой интерфейс действий:
Т.е. класс ориентирован на то, что все его методы выполнятся только в том случае, если имеются куки с логином/паролем. Такое бывает только в том случае, если от клиента посылаются "правильные" куки.
Но при построении административной части данный класс становится абсолютно бесполезным и некоторые его методы приходится копировать в виде структурного подхода. Например, метод
в административной части приходится переписывать как SQL запрос на извлечение имени:
Т.е. ситуация сложилась такая, что существующий класс якобы для работы с пользователем оправдывает себя только в среде с наличием куки и никак иначе.
Это собственно и вопрос - насколько разумно для одной сущности (пользователь) делать, скажем, два класса - класс, например, для фронтенда и класс бля бэкенда?
Простите за не информативный заголовок, лучше не мог придумать =)
У меня сейчас возникла такая ситуация: я имею класс (классы или структурное программирование - не суть важно) для работы с заголиневшемся пользователем на САЙТЕ, фронтенд. Если абстрактно, то класс имеет такой интерфейс действий:
PHP:
$obj = new user();
if ($_COOKIE[....])
{
// Авторизация
$obj->checkUserByCookie($_COOKIE['cookie_user_email'], $_COOKIE['cookie_user_hash']);
// тут мы вошли, в объекте хранятся данные пользователя, полученые из БД
if ($obj->getIdUser() > 0)
{
// что-то делаем дальше с этим объектом
$obj->exe('......');
}
// ...
Но при построении административной части данный класс становится абсолютно бесполезным и некоторые его методы приходится копировать в виде структурного подхода. Например, метод
PHP:
public function getName()
{
return $this->$userdata['name']
}
PHP:
$db->query('SELECT name FROM ... WHERE id = ...')
Это собственно и вопрос - насколько разумно для одной сущности (пользователь) делать, скажем, два класса - класс, например, для фронтенда и класс бля бэкенда?