Ir para conteúdo

POWERED BY:

Arquivado

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

rudesign

[Resolvido] chamar classe com parametros

Recommended Posts

senhores, preciso chamar uma classe de uma maneira diferente

o normal seria assim:

 

$classe = new Classe(param1, param2, param3, ...)

 

porém, a quantidade de parâmetros é "ilimitada", então armazenarei todos os parâmetros que eu preciso num array, tipo:

 

$parametros = array($param1, $param2, $param3, ...);

 

e por fim, preciso chamar a classe de uma maneira similar a essa:

 

$classe = new Classe($parametros)

 

seria parecido com a função call_user_func_array(), porem ao invez de chamar uma função, chamará uma classe

 

como faço isso?

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites


<?php

class Usuario {
   private static $instance = null;

   private $nome;
   private $email;
   private $celular;
   private $idade;
   private $sexo;


   private function  __construct() {

   }

   public static function getInstance() {
       if(!self::$instance){
           self::$instance = new Usuario();
       }
       return self::$instance;
   }

   public function getNome() {
       return $this->nome;
   }

   public function setNome($nome) {
       $this->nome = $nome;
       return $this;
   }

   public function getEmail() {
       return $this->email;
   }

   public function setEmail($email) {
       $this->email = $email;
       return $this;
   }

   public function getCelular() {
       return $this->celular;
   }

   public function setCelular($celular) {
       $this->celular = $celular;
       return $this;
   }

   public function getIdade() {
       return $this->idade;
   }

   public function setIdade($idade) {
       $this->idade = $idade;
       return $this;
   }

   public function getSexo() {
       return $this->sexo;
   }

   public function setSexo($sexo) {
       $this->sexo = $sexo;
       return $this;
   }

}
?>

#index.php
<?php

require_once 'Usuario.php';

Usuario::getInstance()->setNome("Exemplo")->setIdade(23)->setSexo("Masculino")
       ->setEmail('email@email.com')->setCelular('1234-5678');

echo Usuario::getInstance()->getNome();
echo "<br/>";
echo Usuario::getInstance()->getCelular();
?>

Assim serve?

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem, na verdade não era bem isso, mas já consegui o que queria. pra quem quiser, eu fiz assim:

 

$ref = new ReflectionClass('GtkListStore');
$this->model = $ref->newInstanceArgs($p);

 

onde $p é o array com os parametros de inicialização da classe

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem, na verdade não era bem isso, mas já consegui o que queria. pra quem quiser, eu fiz assim:

 

$ref = new ReflectionClass('GtkListStore');
$this->model = $ref->newInstanceArgs($p);

 

onde $p é o array com os parametros de inicialização da classe

Legal!

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.