Hyperf使用session
hyperf初体验 session学习
在使用session之前需要先去了解一下,hyperf的注解作用。
官当文档说法:
注释:给程序员看,帮助理解代码,对代码起到解释、说明的作用。
注解:给应用程序看,用于元数据的定义,单独使用时没有任何作用,需配合应用程序对其元数据进行利用才有作用。
注解又分为类注解、方法注解、类属性注解,使用session是属于属性注解。
session测试学习两种方法,注解和依赖注入
一.注解
1.新建路由
//session缓存
Router::addGroup('/sess/',function (){
Router::get('index',[App\Controller\SessionTestController::class,'index']);
});
2.在app\Controller目录xia新建SessionTestController文件
<?php
declare(strict_types=1);
namespace App\Controller;
use Hyperf\Di\Annotation\Inject; //引入
class SessionTestController extends AbstractController
{
/**
* @Inject()
* @var \Hyperf\Contract\SessionInterface
*/
private $session;
public function index()
{
//var_dump($this->session);
$this->session->set('id',1);
echo $this->session->get('id');
}
}
3.通过浏览器访问
http://hyperf-self-test.com/sess/index
二.依赖注入
引入 Hyperf\Contract\SessionInterface
<?php
declare(strict_types=1);
namespace App\Controller;
use Hyperf\Contract\SessionInterface;
class SessionTestController extends AbstractController
{
private $session;
public function __construct(SessionInterface $session)
{
$this->session = $session;
}
public function index()
{
//var_dump($this->session);
$this->session->set('id',1);
echo $this->session->get('id');
}
}