Zatec 0 Denunciar post Postado Junho 3, 2008 Saudações galera. Antes de mais nada perdoem minha ignorância. Ainda estou aprendendo PHP. Tenho uma classe. Era repleta de funções. Algumas dessas funções que eram muito grandes eu separei em arquivos externos. Gostaria de incluir novamente essas funções dentro de minha classe. Como faria isso? Tentei pelo método include/require e não consegui. Exemplo prático: class Nome { include('arquivocomafuncao.php'); } Agradeço a atenção. Guilherme A. Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Junho 3, 2008 Você não pode usar include e nem require dentro da class, uma class é formada por funções. Compartilhar este post Link para o post Compartilhar em outros sites
Zatec 0 Denunciar post Postado Junho 3, 2008 Não tem nenhuma outra forma de jogar funções de arquivos externos dentro de uma classe para serem utilizados? Agradeço. Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Junho 3, 2008 Se você não pode usar include e nem require, consequentemente, até onde eu saiba, não pode. a class é pra isso mesmo, agrupar várias funções... Compartilhar este post Link para o post Compartilhar em outros sites
Zatec 0 Denunciar post Postado Junho 3, 2008 Tudo bem então. Vou contornar a situação com outro método. De qualquer forma obrigado e disponha no que puder ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Junho 3, 2008 Opa, estamos ai ;) Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Junho 3, 2008 include('arquivocomafuncao.php'); class Nome { // ... } Assim, não? :huh: Apesar de que você pode estender esta sua classe usando o princípio de herança da orientação a objetos para uma outra classe somente com métodos "úteis", digamos assim. []'s Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Junho 3, 2008 Ele quer incluir as funções dentro da class através do include... Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Junho 3, 2008 Isso eu entendi, mas o fundamento que eu entendi para isso é diminuir de certa forma o arquivo agrupando as funções/métodos da classe para um separado. O que eu demonstrei faz exatamente isto e ainda dei a solução que deixa mais limpo ainda, mantendo a orientação a objetos. Meu objetivo não foi dizer se está errado ou não e sim apontar qual a melhor solução do problema, procure fazer isto também. ;) []'s Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Junho 3, 2008 Meu objetivo não foi dizer se está errado ou não e sim apontar qual a melhor solução do problema, procure fazer isto também.Faço isso desde então.Procuro fazer o melhor e ajudar a todos, a medida do possível colega. Compartilhar este post Link para o post Compartilhar em outros sites
williamhrs 0 Denunciar post Postado Junho 3, 2008 Isso eu entendi, mas o fundamento que eu entendi para isso é diminuir de certa forma o arquivo agrupando as funções/métodos da classe para um separado. O que eu demonstrei faz exatamente isto e ainda dei a solução que deixa mais limpo ainda, mantendo a orientação a objetos. Meu objetivo não foi dizer se está errado ou não e sim apontar qual a melhor solução do problema, procure fazer isto também. ;) []'s na verdade a sua solucao do include nao funcioan ja que as funcoes estariam declaradas antes da classe... mas a herança talvez tbm nao seja o que ele quer mas pode funcionar :) Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Junho 3, 2008 <?php function somar($a, $b) { return ($a + $b); } class Classe { var $a; var $b; public function Classe() { $this->a = 10; $this->b = 30; } public function calcular() { return somar($this->a, $this->b); } } $obj = new Classe(); echo $obj->calcular(); ?> Teste e me diga qual o resultado, se não for 40 me diga que eu deixo meu cargo. ;) []'s Compartilhar este post Link para o post Compartilhar em outros sites
williamhrs 0 Denunciar post Postado Junho 3, 2008 mas se for pra usar assim foge da classe..... somar nao e um metodo da classe isso que eu quiz dizer.... Compartilhar este post Link para o post Compartilhar em outros sites