[英]CodeIgniter: $data access in all views
我需要在所有視圖中訪問整個站點中的$ data []變量。 我創建了TestLeangue控制器,並為$ data分配了一些值,但在所有視圖中都說未定義變量
class TestLanguage extends MY_Controller
{
public function __construct() {
parent::__construct();
$this->lang->load("menu","english");
}
function index() {
$data['shipping'] = $this->lang->line('menu_shipping');
$this->load->view('templates/navigation', $data);
}
}
我回聲說我有未定義的變量。
<?= $shipping; ?>
使用$ data的索引作為變量名( $ shipping ),以獲取已分配為$data['shipping']
調節器
class TestLanguage extends MY_Controller
{
public function __construct() {
parent::__construct();
$this->lang->load("menu","english");
}
function index() {
$data['shipping'] = $this->lang->line('menu_shipping');
$this->load->view('templates/navigation', $data);
}
}
查看:模板/導航
<?php
print_r($shipping);
?>
為什么不像全局變量那樣使用這些數據?
class MY_Controller extends ...
{
protected $data = [];
}
然后,每次擴展自定義控制器時,您都可以訪問常規數據。
class MyCustomStackOverflowController extends MY_Controller
{
public function index()
{
$this->load->view('index', $this->data);
}
}
另外,您可以使用$this->data
加載當前控制器的常規信息,例如:
class MyCustomStackOverflowController extends MY_Controller
{
public function __construct()
{
parent::__construct();
$this->data['title'] = 'Stackoverflow';
}
public function index()
{
...
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.