Então me diga: tua dúvida aparece quando? A minha aparece quando eu tô com um problema. Agora, não fico esperando uma resposta pra resolver (até porque nem sei se vai chegar).
Mas blz. Não quero ficar discutindo isso em lista. 2009/1/29 Marcus Cavalcanti <[email protected]> > exatamente, eu postei no meu blog sobre isso, o problema não é o framework > X, é a base do desenvolvedor, saber usar as coisas ... para saber usar, tem > que conhecer. > > e de fato não é má vontade, mas realmente me incomoda qualquer coisa nego > jogar na lista... parece que o cara tá lá programando, surge uma dúvida e > ele pensa "ih vou mandar pra lista" ... > > 2009/1/29 Marco Antonio <[email protected]> > >> Complementando... >> >> >> - Programe para interface, não para implementação; >> - Relacionamentos entre classes através da composição, no lugar de >> herança; >> >> Na boa pessoal, o que se percebe lendo os posts de hoje, é que o problema >> não é no CodeIgniter mas falta de conhecimento de oop e programação em >> geral. E nesse caso não vai ser aqui e nem em nenhum fórum que os problemas >> serão resolvidos. Dá até para quebrar um galho daqui outro dali, mas uma >> hora a casa cai... >> Então não entendam como má-vontade de uns em ajudar, pelo contrário, a >> maior ajuda que pode ser dada nesse caso é: estudem! >> Sugiro também, como o Marcus, que procurem ler mais, principalmente sobre >> padrões de projeto, ou design patterns... >> >> Abs >> >> >> Marco Antonio >> >> ********* >> * E-mail: [email protected] - Skype: coyote.pier >> * Pier de Ipanema: http://www.pierdeipanema.com.br/ >> * Pier de Ipanema no Orkut: >> http://www.orkut.com.br/Main#Community.aspx?rl=cpp&cmm=2923344 >> * CodeIgniter Php Framework: http://www.codeigniter.com.br >> >> >> >> Marcus Cavalcanti escreveu: >> >>> 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] <mailto:[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] >>> <mailto:[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] >>> <mailto:[email protected]>> >>> >>> Valeu galera! >>> >>> Esqueci de nosso amigo parent:: =D >>> >>> Vinicius >>> >>> 2009/1/29 Rafael V. de Oliveira <[email protected] >>> <mailto:[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]> >>> [mailto:[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] >>> <mailto:[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] >>> <mailto:[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] <mailto:[email protected] >>> > >>> >>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>> >>> >>> >>> _______________________________________________ >>> Lista mailing list >>> [email protected] <mailto:[email protected] >>> > >>> >>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>> >>> >>> >>> _______________________________________________ >>> Lista mailing list >>> [email protected] <mailto:[email protected] >>> > >>> >>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Lista mailing list >>> [email protected] <mailto:[email protected]> >>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>> >>> >>> >>> >>> -- >>> Marcus Cavalcanti >>> 21 9144-5068 >>> www.marcuscavalcanti.net/blog <http://www.marcuscavalcanti.net/blog> >>> ------------------------------------------------------------------------ >>> >>> _______________________________________________ >>> 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 > >
_______________________________________________ Lista mailing list [email protected] http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

