Rafael Laurindo Postado Setembro 5, 2009 Denunciar Share Postado Setembro 5, 2009 (editado) Galera, é o seguinte, n consigo instânciar uma classe em uma classe q se encontra em um arquivo diferente, a n ser dentro de um método, alguém sabe me dizer porque? Editado Outubro 9, 2009 por Rafael Laurindo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Setembro 8, 2009 Denunciar Share Postado Setembro 8, 2009 Salve,Poderia postar o código para que possamos dar uma olhada ?Já observou se sua classe não é abstrata ou possui construtor privado forçando um padrão Singleton ?AbraçosGalera, é o seguinte, n consigo instânciar uma classe em uma classe q se encontra em um arquivo diferente, a n ser dentro de um método, alguém sabe me dizer porque? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Laurindo Postado Setembro 11, 2009 Autor Denunciar Share Postado Setembro 11, 2009 vou postar um código qualquer de exemplo:arquivo1.php<?php class ClasseA{ $att1 = 'Rafael'; function getAtt1(){ return $this -> 'att1'; } } ?> arquivo2.php <?php require_once 'arquivo1.php'; class ClasseB{ $ClasseA = new ClasseA(); $att1 = $Classe -> getAtt1(); } $ClasseB = new $ClasseB(); print $ClasseB -> 'att1'; ?>Essa saída deveria ser exatamente: Rafael.Mas n roda, da erro.Falta algo? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rickayron Postado Setembro 11, 2009 Denunciar Share Postado Setembro 11, 2009 $ClasseB = New ClasseB;não se coloca $ e nem () em instaciamento de classe somente funçoes usar-se funcao();até mais boa sorte Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Romerito Postado Setembro 11, 2009 Denunciar Share Postado Setembro 11, 2009 i aew Rafael Laurindo, então saca só algumas coisas que precisa fazer:arquivo1.php <?php class ClasseA { private $att1 = 'Rafael'; //declarar tipo do atributo public function getAtt1(){ return $this -> att1; // remover aspas simples } } ?> arquivo2.php <?php require_once 'arquivo1.php'; class ClasseB { public $att1; public function __construct(){ //criar metodo construtor $ClasseA = new ClasseA(); $this->att1 = $ClasseA -> getAtt1(); //colocar this para refernciar atributo da classe e colocar o nome da instacia do objeto correto } } $ClasseB = new ClasseB(); // remover cifrão print $ClasseB -> att1; // remover aspas simplesespero que entenda como funciona, abraço! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Laurindo Postado Setembro 11, 2009 Autor Denunciar Share Postado Setembro 11, 2009 Legal, só faltava saber sobre o método __construct(). Para que serve?Eu já tinha lido sobre ele, mas n entendi muito bem, achei que fosse um método criado por nós mesmo, e não um interno do PHP.muito abrigado romerito, pode ficar tranquilo, a sintaxe eu sei direitin, é q escrevi muito tarde da noite, meio "grog" já, e escrevi rápido.Mas, por favor, preciso saber, sobre o __construct. E farei os teste aki.Desde já agradeço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Romerito Postado Setembro 11, 2009 Denunciar Share Postado Setembro 11, 2009 Legal, só faltava saber sobre o método __construct(). Para que serve?Eu já tinha lido sobre ele, mas n entendi muito bem, achei que fosse um método criado por nós mesmo, e não um interno do PHP.muito abrigado romerito, pode ficar tranquilo, a sintaxe eu sei direitin, é q escrevi muito tarde da noite, meio "grog" já, e escrevi rápido.Mas, por favor, preciso saber, sobre o __construct. E farei os teste aki.Desde já agradeço.opa então o metedo __contruct serve para iniciar valores de um objeto no seu caso o atributo $this->att1 ,você pode tanto usar __construct como declarar um metodo com o mesmo nome da classeex:class ClasseA{ public function ClasseA(){} //Mesma coisa que public function __construct(){} }bom espero que entenda o que eu quis passar(suhauhsauhsuh sou horrivel pra explicar)abraço! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Laurindo Postado Setembro 12, 2009 Autor Denunciar Share Postado Setembro 12, 2009 (editado) Explicou perfeitamente, muito obrigado por me ajudar com as dúvidas. Editado Setembro 22, 2009 por Rafael Laurindo Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Rafael Laurindo
Galera, é o seguinte, n consigo instânciar uma classe em uma classe q se encontra em um arquivo diferente, a n ser dentro de um método, alguém sabe me dizer porque?
Editado por Rafael LaurindoLink para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.