Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

danimac13

2 métodos construtores no php. Tem jeito?

Recommended Posts

Olá galera eu estou começando agora a programar em oo no php. Eu aondo muito acostumado com a poo do java pois eu mexo bastante com java na facul. Para quem não sabe no java tem como você criar dois métodos construtores mas no php eu ainda não descobri como fazer. Tem como fazer essa proeza em php? Ou só através de gambiarra?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode colocar no construtor uma chamada a um segundo método. É uma gambiarra . :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu galera. Consegui resolver o meu problema de outro jeito aqui. Tou pensando que a forma que o php 5 está tratando o código é muito mais oo do que a versão anterior. Eu vou ver se pego um livro emprestado para entender mais o oo do php.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra forma de resolver, é utilizar uma "gambi" na criação de dois ou mais construtores, por exemplo:

 

class login

{

function __construct($id,$nome="",$senha=""){}

 

}

 

$exemplo1=new login(1);

 

$exemplo2=new login(1, "nome");

 

$exemplo3=new login(1, "nome", "senha");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Senhores, o que o Newton Altnetter falou não é gambiarra.

 

Isso acontece porque o Overload como é feito no JAVA não acontece no PHP. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um jeito usando Factory Pattern

 

class Foo {
   private function __construct() {
   //
   }

   public static function barWithA($a) {
       $obj = new Foo(); 
       return $obj;
   }

   public static function barWithBC($b, $c) {
       $obj = new Foo(); 
       return $obj;
   }
}

 

 

Pode-se usar a função func_get_args também

http://php.net/func_get_args

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.