Jump to content
  • 0
srmacedo

Métodos static

Question

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.

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

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

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

×

Important Information

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