Ir para conteúdo

Arquivado

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

  • 0
srmacedo

Métodos static

Pergunta

Oi,

eu tenho algumas classes que é responsável por salvar um determinado valor e eu optei por usar métodos e propriedades static para evitar à passagem de parâmetros para poder obter esses valores salvos. Enquanto cada classe funcionava de forma independente, ocorria tudo bem. O problema foi quando eu abstrai estendendo os métodos, já que todas tinham os mesmos métodos.

O problema é que agora é retornado o mesmo valor para todas as classes, sendo que são classes independentes que estendem uma mesma classe.

Por exemplo:

<?php

class Father
{
  protected static $string = null;
  
  public static function save(string $string)
  {
    if (is_null(self::$string))
    {
      self::$string = $string;
    }
  }
  
  public static function get()
  {
   	return self::$string; 
  }
}
<?php

class ChildOne extends Father
{  
}

class ChildTwo extends Father
{
}

O que eu posso fazer para ser retornado valores diferentes? Já que aparentemente todas estão com a mesma instancia...

[]s.

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 resposta a esta questão

Recommended Posts

Vale lembrar que eu já tentei com static::$string

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

×

Informação importante

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