我如何在codeigniter 3.0中的route.php中访问会话
我的应用程序是多语言支持,因此我可以使用会话语言更改我的应用程序数据,标签,静态字幕语言更改
现在我想扩展我的应用程序
表示语言更改时,url也会更改意味着
例如
http://localhost/test/en/controller/method
当spainsh中的语言更改时,url会在下面改变
http://localhost/test/es/controller/method
所以我怎么做呢
请帮助我谢谢
答案 0 :(得分:0)
您始终可以访问$_SESSION
变量。但是,我不确定它是否与CodeIgniter会话库兼容。
session_start();
if(isset($_SESSION['lang']))
{
// define your routing here
}
答案 1 :(得分:0)
达到我理解的水平,您使用 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中使用multilang suppport或者如果您仍想在routes.php中使用会话。您可以像Alexander所说的那样以标准的PHP方式尝试。但我怀疑它是否正常工作。