Hola cual es la mejor forma de crear y llamar una clase?
   Código PHP:
    class miclase
{
   public $mivariable;
 
   public function mifuncion()
 {
   echo 'hola mundo';
 }
 
}
 
$obj = new miclase();
$obj->mivariable = '10';
$obj->mifuncion(); 
    
  
o crearla de esta otra forma.   
 Código PHP:
    class miclase
{
   public static $mivariable;
 
   public function mifuncion()
 {
   echo 'hola mundo';
 }
 
}
 
 
miclase::$mivariable = 10;
miclase::mifuncion(); 
    
  
Yo siempre lo he hecho creando una instancias de la clase, pero he ledio alguna informacion que dice que es mejor usar las variables estatias y llamar a la clase y sus funciones con el uso del Operador de Resolución de Ámbito ya que no se esta creando una instancia de la clase, pero que tan cierto es esto y el uso de variables y funciones staticas son necesarias para este tipo de estructura ya que he probado y no necesariamente tengo que utilizar el static para llamar a una variable y funcion fuera de la clase con los :: 
Gracias.