É bom você fazer uma analise geral da classe, o que cada metodo usa em comum, o que todos usam e pode ser carregado no construct etc.. deixando ela com menos codigo e bem robusta.

*Eu mesmo faço varios metodos privados algo como: "_set_validacao($pagina), _get_campos_validar($pagina)" que ja chama todos aqueles parametros pra validar etc, mas tudo um metodo só se engarrega disso pra outros.

Pois cada casa é um caso ne.

Nesse caso da view eu faço da seguinte maneira:

Uso uma view chamada "index" que contem todos os elementos da página em comum a todas, (rodapé, menu, header.. etc),  tudo separado por arquivos mas com os includes pra essa index, ja economizo chamar view por view no controller mas continuo com tudo separado e organizado.

No controller eu passo um parametro para view de qual pagina sera carregada dentro dessa index.

Ficando mais ou menos assim:

class Produtos extends Controller {

    (...)

    function alarmes()
    {
            $dados['news'] = $this->news_model->listar();
            $dados['pagina'] = 'paginas/alarmes';
            $this->load->view('index', $dados);
    }






Sds
Julio Fagundes





Marcelo Diniz escreveu:
Bom dia pessoal, não sei se o certo seria otimizar ou somente diminuir um pouco meus controlllers, mas vamos la.

Tenho em vários controllers e em vários métodos dentro do controller que faz se não a mesa chamada de views, chamadas muito parecidas e gostaria de ver se tem como não precisar chamar sempre as mesmas views.

mais ou menos assim:

<?php

class Produtos extends Controller {

    function alarmes()
    {
            $this->load->view('default/head', $dados);
            $this->load->view('default/menu', $dados);
           
            $this->load->view('alarmes', $dados);

            $this->load->model('news_model');
            $dados['news'] = $this->news_model->listar();

            $this->load->view('default/news', $dados);
            $this->load->view('default/rodape');

    }

    function cftv()
    {
            $this->load->view('default/head', $dados);
            $this->load->view('default/menu', $dados);
           
            $this->load->view('cftv', $dados);

            $this->load->model('news_model');
            $dados['news'] = $this->news_model->listar();

            $this->load->view('default/news', $dados);
            $this->load->view('default/rodape');

    }

...


e por ai vai....

nesse caso, que é a maioria muda somente a chamada da view cftv.

não sei se sempre tenho que chamar as views e models e tem outro meio.

Valew
--
Marcelo Felipe Santiago Diniz
t_mini-a.png @marcelo_leo27

_______________________________________________ [email protected] http://www.codeigniter.com.br http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

---------------------------
Oportunidade de negócio
http://www.franquiasargohost.net
---------------------------
  

_______________________________________________
[email protected]
http://www.codeigniter.com.br
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

---------------------------
Oportunidade de negócio
http://www.franquiasargohost.net
---------------------------

Responder a