Herança multipla tras serios problemas de organização de código... Existe como vc fazer herança multipla de uma forma muito mais limpa usando interfaces... (http://www.guj.com.br/posts/list/25674.java)
E não é o parent que resolve o problema, em herança qulaquer classe filha acessa os métodos da classe pai desde que esses não sejam "private". 2009/1/29 Vinicius Cruz <[email protected]> > Bom, resolvi colocar tudo na class MY_Controller mesmo... ¬¬ > Herança múltipla faz falta. > > Vinicius > > 2009/1/29 Vinicius Cruz <[email protected]> > >> 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 > > -- Marcus Cavalcanti 21 9144-5068 www.marcuscavalcanti.net/blog
_______________________________________________ Lista mailing list [email protected] http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

