<MyRusakov.ru />

Программирование на JavaScript с Нуля до Гуру 2.0

Программирование на JavaScript с Нуля до Гуру 2.0

Данный курс научит Вас программировать на языке JavaScript, который крайне желательно знать любому уважающему себя программисту. Курс состоит из 8 разделов, в которых Вы с нуля освоите этот язык и сможете создавать самые разные программы для самых разных задач любой сложности. В курсе Вы получите всю необходимую теоретическую часть, а также увидите массу практических примеров, в том числе, и из моей практики.

Дополнительно, почти к каждому уроку идут упражнения.

Помимо самого курса Вас ждёт ещё 5 бесплатных ценных Бонусов: «Библиотека jQuery», «Защита JavaScript-кода от копирования», «Решение упражнений из курса», «HTML для начинающих» и «CSS для начинающих».

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Класс обертка для работы с сессиями в PHP

Класс обертка для работы с сессиями в PHP

Как известно PHP имеет встроенную подержку сессий, с помощью которых, можно например, хранить некоторые данные пользователя не в браузера, а на сервере. В браузере будет храниться только идентификатор сессии, как правило в cookies.

В данной статье я покажу Вам, как обернуть встроенные в PHP сессии в объектно-ориентированную обертку, для того, чтобы облегчить работу с ними.

Код далее:

<?php

// класс сессии
class Session 
{
    private $cookieTime;

    
    // задаем время жизни сессионных кук
    public function __construct(string $cookieTime = '+30 days') {
        $this->cookieTime = strtotime($cookieTime);
        session_cache_limiter(false);
    }


    // стартуем сессию
    public function start()
    {
        session_start();
    }

    
    /**
     * Проверяем сессию на наличие в ней переменной c заданным именем
     */
    public function has($name)
    {
        return isset($_SESSION[$name]);
    }



    /**
     * Устанавливаем сессию с именем $name и значением $value 
     * 
     *
     * @param $name
     * @param $value
     */
    public function set($name, $value) {
        $_SESSION[$name] = $value;
    }
    
    



    /**
     * Когда мы хотим сохранить в сессии сразу много значений - используем массив
     *
     * @param $vars
     */
    public function setArray(array $vars)
    {
        foreach($vars as $name => $value) {
            $this->set($name, $value);
        }
    }
    
    

    /**
     * Получаем значение сессий
     * 
     * @param $name
     * @return mixed
     */
    public function get($name) {
        if (isset($_SESSION[$name])) {
            return $_SESSION[$name];
        }
        return $_SESSION[$name];
    }



    /**
     * @param $name - Уничтожаем сессию с именем $name
     */
    public function destroy($name) {
        unset($_SESSION[$name]);
    }



    /**
     * Полностью очищаем все данные пользователя
     */
    public function destroyAll() {
        session_destroy();
    }



    /**
     * Устанавливаем куки  
     *
     * @param $name
     * @param $value
     */
    public function setCookie($name, $value) {
        setcookie($name, $value, $this->cookieTime);
    }
    
    

    /**
     * Получаем куки
     *
     * @param $name
     * @return mixed
     */
    public function getCookie($name) {
        return $_COOKIE[$name];
    }



    /**
     * @param $name Удалаяем
     */
    public function removeCookie($name) {
        setcookie($name, null);
    }
}

Как пользоваться? Пример далее:

$session = new Session();

$session->start();

if( !$session->has('counter') ) {
    $session->set('counter', 0);



$counter = $session->get('counter');
$session->set('counter', ++$counter);

$response->getBody()->write("Вы посетили сайт $counter раз/a");



// массовая устанвока значений
$session->setArray([
    'one' => 1,
    'two' => 2,
    'three' => 3
]);

Вот так можно обернуть встроенный в PHP механизм сессий в ОО класс.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.