Newton, retornando à discussão, no teu artigo fala assim: "Pra resolver este problema, podemos criar nossa especialização na pasta de controllers da aplicação (ao invés da libraries), e incluir este arquivo nas classes que vamos estender. "
Assim, o MY_relatorio estaria na pasta controller, extends Controller. Ok! Mas como um outro controller iria extender (ou incluir este arquivo) MY_relatorio? Um controller não pode extender outro controller, certo? No caso, seria através de uma instância? Vinicius 2009/1/29 Vinicius Cruz <[email protected]> > Valeu galera! > Esqueci de nosso amigo parent:: =D > > Vinicius > > 2009/1/29 Rafael V. de Oliveira <[email protected]> > > Pq vc não passa os dados via parâmetro? >> >> >> >> class MY_Controller extends Controller >> >> { >> >> function MY_Controller() >> >> { >> >> parent::Controller(); >> >> } >> >> >> >> function trata_var($var) >> >> { >> >> //Aqui eu trato a $var >> >> } >> >> } >> >> >> >> class Exemplo extends MY_Controller >> >> { >> >> function Exemplo() >> >> { >> >> parent::MY_Controller(); >> >> } >> >> >> >> function teste() >> >> { >> >> parent::trata_var('bla_bla'); >> >> } >> >> } >> >> >> >> *De:* [email protected] [mailto: >> [email protected]] *Em nome de *Vinicius Cruz >> *Enviada em:* quinta-feira, 29 de janeiro de 2009 18:20 Rafael >> *Para:* CodeIgniter Brasil >> *Assunto:* Re: [CodeIgniter] Especialização de controller >> >> >> >> Pensei em algo do tipo, mas fiquei com dúvida pra tentar manter a ordem, >> digamos assim: >> >> >> >> class MY_relatorio extends MY_Controller{ >> >> private $var_filha; >> >> >> >> public function get()... >> >> >> >> public functon set($var)... >> >> >> >> } >> >> >> >> Class MY_Controller extends Controller{ >> >> >> >> public function generico() >> >> { >> >> //Como acessar $var_filha? >> >> } >> >> } >> >> >> >> No caso, teria que manter a variavel na classe extendida? >> >> >> >> Vinicius >> >> >> >> 2009/1/29 Edinho Almeida <[email protected]> >> >> Não é isso ? >> >> >> >> class MY_Controller extends Controller{ >> >> public $var_da_filha = null; >> >> function talCoisa(){ >> >> echo $this->var_da_filha; >> >> } >> >> } >> >> >> >> class MY_relatorio extends MY_Controller{ >> >> function teste(){ >> >> $this->var_da_filha = "Classe my_relatorio"; >> >> $this->talCoisa(); >> >> } >> >> } >> >> >> Abs >> Edinho Almeida >> 11 8018-8019 >> >> 2009/1/29 Vinicius Cruz <[email protected]> >> >> Pessoal, >> >> >> >> uma vez um artigo no Blog do Newton, falando sobre especialização de >> Controller. >> >> >> http://www.newtonwagner.net/code-igniter/especializando-controllers-no-code-igniter/ >> >> >> >> As imagens usadas no post não está aparecendo. Mas é o seguinte: baseado >> nas palavras do post do Newton, teriamos duas telas, de cadastro e >> relatorio. O que ele se propoe é criar duas especializações, cada qual com a >> lógica especifica ao negócio. >> >> >> >> O que eu entendi, é que seria algo mais ou menos assim: >> >> >> >> class MY_relatorio extends Controller{ ... >> >> >> >> class MY_cadastro extends Controller{ ... >> >> >> >> Correto? Agora, digamos que tenho uma class MY_Controller tenha funcões em >> comum a ambas especializações. Ao invés de dar um extends Controller, seria >> um extends MY_Controller. >> >> >> >> Meu problema (suspeito que seja mesmo de padrões de projetos) é que, na >> class MY_Controller, precise acessar uma informação da class filha. Deu pra >> entender? Digamos que em MY_relatorio tenha uma informação que precisa ser >> passada pra o método function geral_my_controller da class MY_Controller. >> >> >> >> Ou não estou conseguindo pensar numa solução, ou isso tá cheirando a POG. >> =/ >> >> >> >> Vinicius >> >> >> >> >> >> _______________________________________________ >> 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 >> >> >> >> _______________________________________________ >> 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

