danimac13 0 Denunciar post Postado Agosto 29, 2006 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
Jonas Rodrigues 1 Denunciar post Postado Agosto 29, 2006 Da uma olhada aqui e veja o que consegue fazer: http://br.php.net/manual/pt_BR/language.oop5.overloading.php Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Agosto 29, 2006 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
danimac13 0 Denunciar post Postado Agosto 30, 2006 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
Newton Altnetter 1 Denunciar post Postado Agosto 31, 2012 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
Guilherme Oderdenge 42 Denunciar post Postado Agosto 31, 2012 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
hinom 5 Denunciar post Postado Agosto 31, 2012 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