Me he estado preguntando si una propiedad de clase se crea una instancia y se usa solo en un método de clase si es una propiedad de clase o si solo se trata de una variable local accesible solo para ese método de clase.¿Debo mantener las variables utilizadas solo en un método de clase local o declararlas como propiedades de clase?
Por ejemplo, ¿Debo mantener una variable sólo se utiliza en un método como una variable local como esto:
class myClass
{
public function myMethod()
{
$_myVariableUsedOnlyOnce = "Hello World";
echo $_myVariableUsedOnlyOnce;
}
}
o debería hacer que la variable de una propiedad de clase privada de esta manera:
class myClass
{
private $_myVariableUsedOnlyOnce;
public function myMethod()
{
$this->_myVariableUsedOnlyOnce = "Hello World";
echo $this->_myVariableUsedOnlyOnce;
}
}
¿Qué enfoque "huele"? ¿Cuáles son los beneficios de hacer que todas las propiedades de clase de variables de método no sean cuando necesito imprimir_r() todo el objeto para depuración?
Gracias
Si está seguro de que solo se utilizará una vez, hágalo de forma local. De lo contrario, tienes razón para hacerlo privado. _A menos que necesite el valor de esa variable para persistir entre las llamadas de ese método, en el que al menos tendría que ser 'estático' en el método. –