Jump to content
Luiz Henrique

Declarar nome da classe em variável?

Recommended Posts

Olá pessoas,

 

Tenho uma classe e dentro dela várias chamadas para métodos de acordo com a necessidade em outra classe (para obter dados DB), como são muitas e vou duplicar os arquivos, para ganhar tempo queria colocar o nome da classe em uma variável porém não funciona.

 

use Class1;

class Class2
{
	public $className = 'Class1';
	...
	$dados = $this->className::function(); // não funciona

}

Era para gerar isso:

$dados = Class1::function();

Se eu der um echo $this->$className, ele me retorno o nome da Class1 porém para executar um método dentro da Class1 não vai, diz que a classe Class1 não existe!

Tem alguma forma de funcionar isso?

 

Obrigado.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By ILR master
      Fala pessoal.
      Tudo bem?
       
      Tenho o seguinte código que funcionda perfeitamente:
       
      date_default_timezone_set("America/Sao_Paulo");
      $d_inicio= date('Y-m-d');
      $d_final= date('Y-m-d', strtotime('+30  day'));
       
      Mas eu quero definir a quantidade de dias pegando o valor que a variável:
       
      date_default_timezone_set("America/Sao_Paulo");
      $tempo = 30;
      $d_inicio= date('Y-m-d');
      $d_final= date('Y-m-d', strtotime('+$tempo  day'));
       
      Mas quando declaro com variável não funciona.
      Obrigado pela ajuda.
    • By lezão
      Boa tarde, galera!
      Tudo bem com vcs?
       
      Estou precisando de uma limitador de palavras.
      Tenho um texto de 600 palavras e gostaria de que na pagina principal aparece se, apenas 30 palavras do texto.
      Achei esse codigo na innternet, mas ele não limita palavras, mas sim ele corta as palavras ficando assim:  "Tenho um texto de 600 palav..."
      ?php echo substr("$texto;", 0, 200); ? com uma variavel que limita as palavras ficaria assim: "Tenho um texto de 600 palavras". exibiria essas 6 palavras.
    • By mateus.andriollo
      Boa tarde,
      Tenho alguns campos numéricos q ao fazer uma select gostaria q retornasse uma legenda
       
      exemplo:
      Status: 0=Inativo / 1=Ativo Condição: 1=Funcionando / 2=Em manutenção / 3=Manutenção Interna   
      Seria algo assim, tenho varias tabelas com estes campos... mas tenho q ficar usando replace.
      Existe uma forma de criar uma função para isso? Nem q na função eu tenha que setar nome do campo, ficando assim:
      Legenda('Status',cadastro.status) 
    • By Boca
      Pessoas estou com uma duvida preciso de ajuda
      Tenho alguns campos chamados "horario_0, horario_1, horario_2, horario_3, horario_4, horario_5, horario_6 no meu banco de dados
      estou precisando que ela seja dinâmica dentro de um for
      exemplo:
       
      <?php for ($dia = 0; $dia < 7; $dia++): $resultadoBD->horario_$dia endfor; ?>  
    • By ernestovm
      Bom dia.
      Descobri, depois de muito trabalho, um problema esquisito. Tenho duas imagens que chamam funções JavaScript determinadas. Uma funciona e a outra não. Isso no Firefox. No Chrome as duas funcionam perfeitamente. Alguém conhece alguma gambiarra para fazer o Firefox funcionar? Segue os códigos:
      HTML:
      <img src="images/ic_abrir.png" width="70" height="70" onClick="abre_notificacao(<? echo "'".$us_codigo."','".$item."'"; ?>);" style="cursor:pointer" id="p_imagem-<? echo $item; ?>" name="p_imagem-<? echo $item; ?>">
       <img src="images/ic_excluir.png" width="70" height="70" onClick="excluir_notificacao(<? echo "'".$us_codigo."'"; ?>);" style="cursor:pointer">
      JAVASCRIPT:
      <script type="text/javascript">
          function abre_notificacao(codigo,indice) {
              $("#p_imagem-"+indice).attr("src","images/ic_abrir_ok.png");
              $("#ver-"+indice).css("display", "block");
          }
          function excluir_notificacao(codigo) {
              $.post("excluir_notificacao.php", {codigo: codigo}, function(resposta) {
                  confirm(resposta+" ("+codigo+")");
              });
              location.reload();
          }

      </script>
      A Função abre_notificacao(codigo,indice)  funciona perfeitamente nos dois browsers.
      A Função excluir_notificacao(codigo) só funciona no Chrome.
      Obrigado pela luz
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.