中文在线一区二区_欧美在线综合_久久久久久综合_欧美一区二区三区视频_国产免费看_国产福利精品一区

全局變量

swoole 協程當中,我們都知道類似 $_GET$_SESSION 這樣的全局變量是不能安全使用的。原因是協程切換下會帶來數據污染問題。

驚喜

EasySwoolespl 包中,實現了一個 SplContextArray,并在主進程的位置,替換了這些全局變量,使得這些數據的訪問是安全的,并在請求結束后自動清理。從而我們可以在使用一些 FPM 環境下的組件包時沒有影響。

注意:該特性下面的注冊和使用示例需要你的框架 easyswoole/http 組件版本大于等于 2.0.0。如果用戶easyswoole/http 組件版本在 1.6 ~ 1.7.19 之間請查看 全局變量舊版本用法

注冊

<?php

namespace EasySwoole\EasySwoole;

use EasySwoole\EasySwoole\AbstractInterface\Event;
use EasySwoole\EasySwoole\Swoole\EventRegister;
use EasySwoole\Http\GlobalParam\Hook;
use EasySwoole\Session\FileSession;
use EasySwoole\Session\Session;

class EasySwooleEvent implements Event
{
    public static function initialize()
    {
        date_default_timezone_set('Asia/Shanghai');

        // 配置 session,設置 session 數據文件存儲目錄為 EASYSWOOLE_TEMP_DIR
        # $sesionHandler = new FileSession(EASYSWOOLE_TEMP_DIR . '/Session');

        $globalParamHook = new Hook();

        // 如果不需要使用 session 請勿注冊
        // 使用時請先參考 session 章節 http://www.jrrswxmm.cn/HttpServer/session.html,新增 \App\Tools\Session 類文件。
        # \App\Tools\Session::getInstance($sesionHandler);
        # $globalParamHook->enableSession(Session::getInstance());

        $globalParamHook->register();

        // onRequest v3.4.x+
        \EasySwoole\Component\Di::getInstance()->set(\EasySwoole\EasySwoole\SysConst::HTTP_GLOBAL_ON_REQUEST, function (\EasySwoole\Http\Request $request, \EasySwoole\Http\Response $response) use ($globalParamHook) {
            // 替換全局變量
            $globalParamHook->onRequest($request, $response);
        });

        // afterRequest v3.4.x+
        \EasySwoole\Component\Di::getInstance()->set(\EasySwoole\EasySwoole\SysConst::HTTP_GLOBAL_AFTER_REQUEST, function (\EasySwoole\Http\Request $request, \EasySwoole\Http\Response $response) {

        });
    }

    public static function mainServerCreate(EventRegister $register)
    {

    }
}

事件注冊完畢后,即可使用 $_GET$_COOKIE$_POST$_FILES$_SERVER$_SESSION

使用

<?php

namespace App\HttpController;

use EasySwoole\Http\AbstractInterface\Controller;

class Index extends Controller
{
    function index()
    {
        var_dump($_GET['a']);
        var_dump($_SERVER);
    }
}

注意

該特性需要 2.0.0 版本以上的 http 組件庫

"easyswoole/http": "^2.0.0"
主站蜘蛛池模板: 国产成人精品久久 | 久久久婷婷 | 国产精品久久久久久久久久ktv | 国产精品永久免费视频 | 国产xxxx成人精品免费视频频 | 91xx在线观看 | 欧美91| 日韩色区 | 久热精品免费视频 | 欧美日韩在线一区二区三区 | 久久99国产精品免费网站 | 欧美日韩久 | 成人精品鲁一区一区二区 | 这里只有精品在线播放 | 91精品国产高清一区二区三区 | 久久网页 | 免费精品视频 | 日韩成人精品 | 成人国产精品久久 | 亚洲国产精品久久久久婷婷老年 | 黄色毛片儿 | 一区二区三区久久久久 | 视频一区二区三区免费观看 | 九一精品国产 | 香草久久 | 午夜在线 | 91视频大全| 中文在线视频 | 在线成人av | 久久综合久 | 久久国产成人 | 国产精品精品 | 精品国产网站 | 精品久久久久久久久久久 | 日本视频网 | 奇米在线视频 | 欧美日韩在线看 | 一区亚洲| 久久综合九色综合欧美狠狠 | 久久久久国产精品免费免费搜索 | 久久久国产一区 |