Sye*_*yed 1 variables codeigniter declaration
我是CI的新手,我想做的是拥有一个类级变量(例如是一个数组).但看起来CI尽管吹嘘不高,却不支持这一功能.用户指南中未提及任何相关内容.有一个名为私有函数和变量的标题,但文本似乎对变量保持沉默.
我希望有类似的东西:
class OrderStats extends CI_Controller {
protected $arr_CoreCountry = ('0'=>'uk', '1'=>'us');
public function __construct()
{
parent::__construct();
// Your own constructor code
}
public function index()
{
$this->load->model('orders', '', TRUE);
//$data['result'] = $this->Testmodel->get_entries();
$data['result'] = $this->Testmodel->get_reports();
$this->load->view('test', $data);
}
public function getOrderStats()
{
$this->load->model('Orderstatsmodel', '', TRUE);
//$data['result'] = $this->Testmodel->get_entries();
foreach ($arr_CoreCountry as $key => $value)
{
$data['result'] = $this->Orderstatsmodel->get_orderStats($key);
}
// $data['result'] = $this->Orderstatsmodel->get_orderStats(0);
$this->load->view('orderstats', $data);
}
Run Code Online (Sandbox Code Playgroud)
请记住,当我在这篇文章中声明$ arr_CoreCountry变量时,我经常会看到语法错误消息.当我把它放在任何函数内部时,当然,它超出了范围,我不断得到一个错误消息,$ arr_CoreCountry是一个未定义的变量.所以问题是我在哪里定义它?
由于来自codeigniter的这个消息,因为我的一半时间被浪费了,所以期待快速响应.
这应该工作:
class OrderStats扩展CI_Controller {
Run Code Online (Sandbox Code Playgroud)protected $arr_CoreCountry = array('0'=>'uk', '1'=>'us'); public function getOrderStats() { $this->load->model('Orderstatsmodel', '', TRUE); //$data['result'] = $this->Testmodel->get_entries(); foreach ($this->arr_CoreCountry as $key => $value) // etc}
你$this->在原始代码中省略了.
编辑 这是我的测试代码〜
class Testing extends CI_Controller {
protected $foo = array('test'=>'foo', 'bar'=>'baz');
function index() {
foreach($this->foo as $k => $v) {
echo $k . ' = ' . $v . '<br />';
}
}
}
// outputs:
test = foo
bar = baz
Run Code Online (Sandbox Code Playgroud)
也许您可以发布您的语法错误,因为它们似乎在原始帖子中缺失.
| 归档时间: |
|
| 查看次数: |
16204 次 |
| 最近记录: |