我如何在 codeigniter 3.0 中访问 route.php 中的会话

how i can access session in route.php in codeigniter 3.0

如何在 codeigniter 3.0

中访问 route.php 中的会话

我的应用程序支持多语言,因此我可以使用会话来更改我的应用程序数据、标签、静态字幕语言更改

现在我想延长我的申请

意味着当语言改变的时候url也改变意味着

例如

http://localhost/test/en/controller/method

当时在 spanish 中更改语言时 url 更改如下

http://localhost/test/es/controller/method

所以我该怎么做

请帮助我谢谢

您始终可以访问 $_SESSION 变量。但是,我不确定它是否与 CodeIgniter Session 库兼容。

session_start();

if(isset($_SESSION['lang']))
{
   // define your routing here
}

根据我的理解,您正在使用 Codeigniter 的会话数据 作为标识 lang 及其相关数据的标识..?

Codeigniter 使用与使用 session_start() 和 $_SESSION 类似的超全局会话维护方式。 但建议不要在控制器以外的任何地方使用会话数据。

尝试编写一个 扩展到所有控制器的超级控制器

            class SuperController extends MY_Controller
        {



            public function __construct()
             {
                // Ensure you run parent constructor
                parent::__construct();    
                $this->checkSess();
             }

            public function checkSess() 
           {
              //Your session check and its associated redirects
              //eg. if $this->session->en==1 redirect to eng lang controller



            }

        }

    Class YourController extends SuperController{
    //Your code

}

或者从 Codexworld

开始,您可以在 Codeigniter 中使用多语言支持

或者如果你想在 routes.php 中仍然使用会话。您可以像 Alexander said.But 一样以标准 PHP 方式尝试,我怀疑它是否正常工作。

在 autoload.php 中初始化会话,例如:

$autoload['libraries'] = array('session');

然后在 routes.php 中,您可以通过以下方式访问会话:

session_start();
print_r($_SESSION);