Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) instanciando classe PHP em arquivo distinto


Rafael Laurindo

Pergunta

7 respostass a esta questão

Posts Recomendados

  • 0

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ços

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?

Link para o comentário
Compartilhar em outros sites

  • 0

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?

Link para o comentário
Compartilhar em outros sites

  • 0

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 simples

espero que entenda como funciona, abraço!

Link para o comentário
Compartilhar em outros sites

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0
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 classe

ex:

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!

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...