2013-12-14 2 views
0

Я в середине очистки веб-приложения, написанного в CodeIgniter. В каждом главном представлении есть боковая панель, в которой отображаются некоторые общие данные, основанные на базе данных - последние обновления, новости и т. Д. У меня есть кеширование запросов, чтобы ускорить работу, но я также ищу лучший способ сделать это.CodeIgniter - каждому контроллеру необходимо передать 3 переменные

В настоящее время каждый контроллер загружает модель, загружает массив $data и передает его на вид.

Я расширил основной класс контроллера CI и не загружаю данные в конструкторе, который немного упростил код, но мне все еще кажется, что должен быть лучший способ. Какие-либо предложения?

+0

Похож на ответ: http://stackoverflow.com/a/10588272/579059 – madzilla

ответ

0

не уверен, если это то, что вы просите, но вы можете иметь дополнительный родительский контроллер/основание для загрузки повторяющихся данных, таких как новости, обновления и т.д. ...

class baseController extends CI_Controller { 


    public function __construct(){ 
     parent::__construct(); 
    } 

    function viwe($view = 'defualt' , $data = array()){ 

     $data['updates'] = $this->db->get('updates'); 
     $data['news'] = $this->db->get('news'); 
     $this->load->view($view , $data); 
    } 

} 

другой контроллер:

include "baseController.php"; 
class another extends baseController { 

    public function __construct(){ 
     parent::__construct(); 
    } 

    function index() 
    { 
     $data['thisData'] = $this->db->get('thisdata'); 
     $this->view('thisView' , $data ); 
    } 
} 
Смежные вопросы