English | Русский
Данная библиотек позволяет вам удобно работать с сессиями. Доступны методы для запуска, установки, получении, удалении сессий.
Репозиторий проекта: https://github.com/cs-eliseev/helpers-session
DEMO
Session::set(
'example_key',
Session::getNotEmpty('example_key', 'default_value')
);
if (is_int(Session::get('example_key'))) {
Session::remove('example_key');
}
$is_not_int = Session::has('example_key');
CSE HELPERS - это набор из небольших библиотек с простыми функциями написанных на PHP специально для вас.
Несмотря на повсеместное использование PHP в качестве основного языка для WEB разработки, его зачастую недостаточно. SESSION CSE HELPERS, позволит вам довольно просто использовать методы START, SET, GET DELETE и другие, для работы с сессиями.
CSE HELPERS создан для быстрой разработки веб-приложений.
Список библиотек CSE Helpers:
- Array CSE helpers
- Cookie CSE helpers
- Date CSE helpers
- Email CSE helpers
- IP CSE helpers
- Json CSE helpers
- Math Converter CSE helpers
- Phone CSE helpers
- Request CSE helpers
- Session CSE helpers
- Word CSE helpers
Ниже представлена информация об установке и перечне команд с примерами их использования.
Самая последняя версия проекта доступна здесь.
Чтобы установить последнюю версию проекта, выполните следующую команду в терминале:
composer require cse/helpers-session
Или добавьте следующее содержимое в файл composer.json:
{
"require": {
"cse/helpers-session": "*"
}
}
Добавить этот репозиторий локально можно следующим образом:
git clone https://github.com/cs-eliseev/helpers-session.git
Скачать последнюю версию проекта можно здесь.
Данный класс использует статические методы, которые удобно использовать в любом проекте. Смотрите пример examples-session.php.
Запуск сессии
Пример:
Session::start();
// true
Установка ключа сессии
Пример:
Session::set('example_key', 'example_value');
// ['example_key' => 'example_value']
Приме использование мульти ключа:
Session::setMultiKey('cse');
Session::set('example_key_2', 'example_value_2');
// ['cse' => ['example_key_2' => 'example_value_2']]
Проверка существования ключа сессии
Пример:
Session::set('example_key', 'example_value');
Session::has('example_key');
// true
Приме использование мульти ключа:
Session::setMultiKey('cse');
Session::has('example_key');
// false
Получение значения сессии по ключу
Пример:
Session::set('example_key', 'example_value');
Session::get('example_key');
// example_value
Приме использование мульти ключа:
Session::setMultiKey('cse');
Session::set('example_key_2', 'example_value_2');
Session::get('example_key_2');
// example_value_2
Пример установки значения по умолчанию, когда ключа сессии не сущуствует:
Cookie::get('example_key_3', 'example_default_value_3');
// example_default_value_3
Получение не пустых значений для ключа сессии
Пример:
Session::set('example_key', 'example_value');
Session::getNotEmpty('example_key', 'example_default_value');
// example_value
Приме использование мульти ключа:
Session::setMultiKey('cse');
Session::set('example_key_2', 'example_value_2');
Session::getNotEmpty('example_key_2');
// example_value_2
Пример установки значения по умолчанию, когда ключа сессии не сущуствует:
Cookie::getNotEmpty('example_key_3', 'example_default_value_3');
// example_default_value_3
Пример установки значения по умолчанию, для пустого значения ключа сессии:
Session::set('example_key_4', '');
Cookie::getNotEmpty('example_key_4', 'example_default_value_4');
// example_default_value_4
Удаление ключа сессии
Пример:
Session::set('example_key', 'example_value');
Session::remove('example_key');
Session::has('example_key');
// false
Приме использование мульти ключа:
Session::setMultiKey('cse');
Session::set('example_key_2', 'example_value_2');
Session::remove('example_key_2');
Session::has('example_key_2');
// false
Установка мульти ключа сессии
Пример:
Session::set('example_key', 'example_value');
// ['example_key' => 'example_value']
Session::setMultiKey('cse');
Session::set('example_key_2', 'example_value_2');
/**
* [
* 'example_key' => 'example_value',
* 'cse' => [
* 'example_key_2' => 'example_value_2'
* ]
* ]
*/
Session::set('example_key_3', 'example_value_3');
/**
* [
* 'example_key' => 'example_value',
* 'cse' => [
* 'example_key_2' => 'example_value_2',
* 'example_key_3' => 'example_value_3'
* ]
* ]
*/
Session::setMultiKey();
Session::set('example_key_4', 'example_value_4');
/**
* [
* 'example_key' => 'example_value',
* 'cse' => [
* 'example_key_2' => 'example_value_2',
* 'example_key_3' => 'example_value_3'
* ],
* 'example_key_4' => 'example_value_4',
* 'example' => [
* 'example_key_5' => 'example_value_5'
* ],
* ]
*/
Session::setMultiKey('example');
Session::set('example_key_5', 'example_value_5');
Пример использования в глобальной области видимости:
class DefaultSessionData
{
public function setSessionData(): void
{
Session::setMultiKey();
Session::set('example_key_2', 'example_value_2');
}
}
class CseSessionData
{
public function setSessionData(): void
{
Session::setMultiKey('cse');
Session::set('example_key_1', 'example_value_1');
}
}
class ExtendSessionData
{
public function setSessionData(string $key, string $value): void
{
Session::set($key, $value);
}
}
$default = new DefaultSessionData();
$cse = new CseSessionData();
$extend = new ExtendSessionData();
$extend->setSessionData('example_key_0', 'example_value_0');
// ['example_key_0' => 'example_value_0']
$cse->setSessionData();
/**
* [
* 'example_key_0' => 'example_value_0',
* 'cse' => [
* 'example_key_1' => 'example_value_1'
* ]
* ]
*/
$extend->setSessionData('example_key_1_1', 'example_value_1_1');
/**
* [
* 'example_key_0' => 'example_value_0',
* 'cse' => [
* 'example_key_1' => 'example_value_1',
* 'example_key_1_1' => 'example_value_1_1'
* ]
* ]
*/
$default->setSessionData();
/**
* [
* 'example_key_0' => 'example_value_0',
* 'cse' => [
* 'example_key_1' => 'example_value_1',
* 'example_key_1_1' => 'example_value_1_1'
* ],
* 'example_key_2' => 'example_value_2'
* ]
*/
$extend->setSessionData('example_key_2_1', 'example_value_2_1');
/**
* [
* 'example_key_0' => 'example_value_0',
* 'cse' => [
* 'example_key_1' => 'example_value_1',
* 'example_key_1_1' => 'example_value_1_1'
* ],
* 'example_key_2' => 'example_value_2',
* 'example_key_2_1' => 'example_value_2_1'
* ]
*/
Получени всех данных сессии
Пример:
Session::set('example_key', 'example_value');
Session::setMultiKey('cse');
Session::set('example_key_2', 'example_value_2');
Session::setMultiKey();
Session::all();
/**
* [
* 'example_key' => 'example_key',
* 'cse' => [
* 'example_key_2' => 'example_value_2'
* ]
* ]
*/
Приме использование мульти ключа:
Session::set('example_key', 'example_value');
Session::setMultiKey('cse');
Session::set('example_key_2', 'example_value_2');
Session::all();
// ['example_key_2' => 'example_value_2']
Очистить сессию
Пример:
Session::set('example_key', 'example_value');
Session::setMultiKey('cse');
Session::set('example_key_2', 'example_value_2');
Session::setMultiKey();
Session::claer();
// []
Приме использование мульти ключа:
Session::set('example_key', 'example_value');
Session::setMultiKey('cse');
Session::set('example_key_2', 'example_value_2');
Session::claer();
// ['example_key' => 'example_value']
Уничтожить сессию
Пример:
Session::start();
// session_status() === PHP_SESSION_ACTIVE => true
Session::destroy();
// session_status() === PHP_SESSION_ACTIVE => false
Проверить запуск сессии
Пример:
Session::start();
Session::isStart();
// true
Session::destroy();
Session::isStart();
// false
PHPUnit используется для модульного тестирования. Данные тесты гарантируют, что методы класса выполняют свою задачу.
Подробную документацию по PHPUnit можно найти по адресу: https://phpunit.de/documentation.html.
Чтобы запустить тесты выполните:
phpunit PATH/TO/PROJECT/tests/
Чтобы сформировать отчет о покрытии тестами кода, необходимо выполнить следующую команду:
phpunit --coverage-html ./report PATH/TO/PROJECT/tests/
Чтобы использовать настройки по умолчанию, достаточно выполнить:
phpunit --configuration PATH/TO/PROJECT/phpunit.xml
Вы можите поддержать данный проект здесь. Вы также можете помочь, внеся свой вклад в проект или сообщив об ошибках. Даже высказывать свои предложения по функциям - это здорово. Все, что поможет, высоко ценится.
SESSION CSE HELPERS это PHP-библиотека с открытым исходным кодом распространяемая по лицензии MIT. Для получения более подробной информации, пожалуйста, ознакомьтесь с лицензионным файлом.
GitHub @cs-eliseev