Всем доброго дня!
Недавно начал изучать ООП, и теперь пришло время применить это на практике. Но так как знания у меня чисто теоретические, то я не могу с уверенностью сказать, что я делаю правильно.
Задача такова:
- получить куки пользователя;
- провести куки через фильтры;
- проверить куки на валидность с данными пользователя;
- получить данные авторизованного пользователя, для работы с ними;
Вот класс который я реализовал:
class player
{
private static $instance;
private static $data;
private function __construct()
{
if(!empty($_COOKIE['pid']) && !empty($_COOKIE['key']))
{
if(preg_match('/^[0-9]{1,6}$/', $_COOKIE['pid']) && preg_match('/^[0-9]{1,6}$/', $_COOKIE['key']) && preg_match('/^[0-9]{0,1}$/', $_COOKIE['new']))
{
if($_COOKIE['new'] != 1) { $dir = 'base'; } else { $dir = 'new'; }
$session = 'ldb/sessions/'.$dir.'/'.$_COOKIE['pid'].'/'.md5($_COOKIE['key'].$_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT']).'/';
if(is_dir($session))
{
require_once $session."a.php";
self::$data = array('id' => $a[0],'type' => $a[1],'nick' => $a[2]);
}
else
{
// удалить куки
}
}
else
{
// удалить куки
}
}
}
private function __clone() {}
public static function instance()
{
if(empty(self::$instance))
{
self::$instance = new self();
return self::$instance;
}
}
public static function data($arg)
{
$return = self::$data[$arg];
return $return;
}
}
Код работает, но правильно-ли я воспользовался ООП по заданной задаче?