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

