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

Responder a