我有一个具有不同方法的控制器,但它们都必须设置一个变量,其中包含要在视图中的框中显示的项目列表,我从数据库中提取数据并设置$data['categories']
。 />
我可以设置一次并通过所有方法使其可见吗?
答案 0 :(得分:1)
使它成为类
的属性class Controller {
protected $data;
并使用'$ this'访问您的方法:
class Controller {
function foo() {
$this->data etc...
答案 1 :(得分:1)
除此之外,如果您只使用$ this->数据来获取视图中的值,而不是:
$this->data->something = 'whatever';
然后做
$this->load->view('something', $this->data);
您可以使用以下方式进行设置:
$this->load->vars('something', 'whatever');
然后使用正常的本地化$ data数组(或任何你喜欢的数组),因为变量将全局可用于所有加载的视图文件。
我不是建议两种方式都更好,只是让你知道如何做到这一点。我个人使用这些方法的混合。 : - )