Velinho, não vai funcionar você chamar essas funções de dentro da view. Como
o Newton Wagner disse a view é somente para visualização do conteúdo. Pelo
que vi até agora a View serve como uma página php comum não tendo nenhuma
interação direta com outras classes do CI, daí por quê de não funcionar seus
comandos.
Só um adendo ao e-mail do Newton:
Quando você usa a palavra reservada "this" você busca a instância corrente
da classe.
O que vêm a seguir são métodos ou atributos implementados da classe.
No caso as views não são classes, elas são chamadas por uma classe chamada
Loader que dá include no código da view, já que não natural programar nesta
área no MVC. Lá você usa basicamente HTML com alguns comandos básicos de PHP
como echo, print e assim por diante e se precisar
usa $this->config->item('base_url'), que veio passado da classe controler.
Traduzindo em miúdos:
Quando você dá o Load->View ele simplesmente dá um include no PHP e já não
dá mais tempo de programar muita coisa... rssrsrsrsrsrrsrsr
Se estiver afim de pesquisar melhor:
Olha as classes Controller e Loader dentro de /system/libraries
Abraços,
Waner
------------------------------------------------------------------------------------------------------------------------------------
Tupi, or not Tupi that is the question.
(...)
Só me interessa o que não é meu. Lei do homem. Lei do antropófago.
------------------------------------------------------------------------------------------------------------------------------------
2009/5/21 Newton Wagner <[email protected]>
> Edwires,
>
> O que são essas funções que você quer chamar direto da View?
>
> Na minha opinião, a camada responsável por organizar essas informações
> e mandar pra view só o que ele precisa exibir, é do controller. Então,
> se você quer pegar uma legenda padrão que é gerada por
> "$this->{nomedocontroller}->função()", faça isso no controller, e
> passe o resultado pronto pra view.
>
> O mesmo se aplica às outras funcionalidades.
>
>
> Respondendo a sua pergunta desconsiderando o que eu vejo como melhores
> práticas, rs, se não me engano na View você tem no $this a instancia
> do CI e, dessa forma, poderia chamar $this->funcao_do_controller(); ou
> $this->session->get_userdata();.
>
> Alguém me corrija se eu tiver falado alguma besteira! heheheheh.
>
>
> 2009/5/21 Edwires Diniz <[email protected]>:
> > Ola, a todos!
> >
> > Estou iniciando no Code Igniter, Já aprendi a respeito dos controllers,
> > model, views e library propria. Porém esbarrei em um questão (um pouco
> > inocente) que ainda nã conseguir resolver, por isso pesso ajuda da Lista.
> >
> > Como faço para chamar uma função (estando esta em um controller ou
> library)
> > de dentro de uma view
> >
> > Já tentei:
> >
> > $this->{nomedocontroller}->função()
> >
> > E
> >
> > $this->load->library("library_propria");
> > $this->library_propria->função();
> >
> > E
> >
> > $lib = $this->load->library("library_propria");
> > $lib->função();
> >
> > Nenhuma das opções acima funcionou.
> >
> >
> > Agradeço qualquer dica,
> >
> >
> > Eduvyres M. Diniz
> > Linux User #458375
> > ----------------------------------------
> >
> > _______________________________________________
> > Lista mailing list
> > [email protected]
> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >
> >
>
>
>
> --
> Newton Wagner
>
> skype: newtonwagner
> msn/gtalk: [email protected]
>
> http://www.newtonwagner.net/
> - http://www.diariodaselva.com.br/
>
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br