Я использую $data во всех своих представлениях $this->load->view('my_view', $data);
Я имею, также автоматически загружают Контроллер после этого руководства, Расширяющего Базовый Контроллер
Но я хочу сделать $data глобальным потому что в views
существует боковая панель, которая является постоянной для целого проекта и отображается, информация выбрала через дб в автоматически загруженном контроллере
В настоящее время я должен вручную записать $data ['todo'] для каждого и информации о выборке из автоматически загруженной модели.
Спасибо.
1: Создайте MY_Controller
в приложении / библиотеках
со следующим:
класс MY_Controller расширяет контроллер {{ {1}} var $ data; // функция-конструктор }
2: Замените Контроллер
на MY_Controller
во всех файлах вашего контроллера и загрузите представления с $ this-> data
class Contact расширяет Controller {// до ..} class Contact расширяет MY_Controller { $ this-> load-> view ('contact_view', $ this-> data); }
таким образом вы можете выполнять функции по умолчанию, которые применимы для всего сайта в MY_Controller
, например настройки загрузки .
Вместо того, чтобы делать данные представления глобальными, я бы рекомендовал использовать HMVC для создания модуля для создания этого представления боковой панели. HMVC - хороший чистый способ кодирования частичных представлений.
Сегодня я столкнулся с похожей проблемой. Я обнаружил, что проще, чем глобальные переменные, - использовать константы. Вы можете определить файл констант, который будет загружаться из вашего файла index.php:
// Include additional constants
$defines_file = 'includes/defines.php';
if (file_exists($defines_file))
{
require_once($defines_file);
}
Затем вы можете добавить свои константы в файл define.php
:
define(MY_CONSTANT,'my constant info');
Таким образом, они будут доступны в любом файле во всей системе либо напрямую: echo MY_CONSTANT;
, либо вы можете назначить их переменным.
Я решил, что этот способ будет для меня проще, так как у меня будет только одно место, куда я могу пойти, когда / если мне понадобится изменить константы.
Подробнее: http://codeigniter.com/forums/viewthread/56981/#280205