sulaco-tech/psr7-sessions 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

sulaco-tech/psr7-sessions

Composer 安装命令:

composer require sulaco-tech/psr7-sessions

包简介

Implementation of a PSR-7 and PSR-15 compatible middleware that enables sessions in PSR-7 based applications.

README 文档

README

Implementation of a PSR-7 and PSR-15 compatible middleware that enables sessions in PSR-7 based applications.

Install

Install with composer.

$ composer require sulaco-tech/psr7-sessions

Requirements

This branch requires PHP 7.0 or up with built-in extensions:

  • JSON
  • PCRE

Followed packages are required too:

Usage

You can use the SulacoTech\PSR7Sessions\SessionMiddleware in any PSR-15 compatible middleware.

In a slim/slim application, this would look like following:

use \Slim\Factory\AppFactory;
use \Psr\Http\Message\ResponseInterface as Response;
use \Psr\Http\Message\ServerRequestInterface as Request;
use \SulacoTech\PSR7Sessions\SessionMiddleware;
use \SulacoTech\PSR7Sessions\SessionFileStorage;
use \SulacoTech\PSR7Sessions\SessionFileStorageConfiguration;

// create application
$app = AppFactory::create();

// prepare configuration
$sessionsDirectory = __DIR__ . '/../tmp/sessions';
$sessionName = 'example';
$sessionsExpirationTime = 300; // in seconds
$config = new SessionFileStorageConfiguration($sessionsDirectory, $sessionName, $sessionsExpirationTime);

// create storage with some configuration
$sessionStorage = new SessionFileStorage($config);

// call garbage collector
$sessionStorage->gc();

// create and add middleware
$app->add(new SessionMiddleware($sessionStorage));

// basic example
$app->get('/hello/{name}', function (Request $request, Response $response, array $args) {

	// get session
	$session = $request->getAttribute(SessionMiddleware::SESSION_ATTRIBUTE);

	// read and update session's data
	$counter = $session->get('counter', 0);
	$session->set('counter', ++ $counter);

	// same instructions using array access style
	//$counter = $session['counter'] ?? 0;
	//$session['counter'] = ++ $counter;

	// make a response
	$response->getBody()->write("Hello, {$args['name']}! This page is visited $counter times.");

	return $response;
});

// run application
$app->run();

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 17
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-03-23

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固