C'è una regola generale, quando dovremmo passare un valore come variabile di classe e quando come argomento del metodo? O è solo una scelta dello sviluppatore?
Per esempio - ci sono dei motivi, perché seguire (codice PHP):
class SomeClass
{
public function __construct()
{
$this->id = $_GET['id'];
$this->showMessage();
}
public function showMessage()
{
echo 'The ID is '.$this->id;
}
}
è migliore (o peggio?) di questo:
class SomeClass
{
public function __construct()
{
$this->showMessage($_GET['id']);
}
public function showMessage($id)
{
echo 'The ID is '.$id;
}
}
Nota che sto solo chiedendo delle differenze tra il valore di passaggio come variabile di classe e il passare come argomento di metodo. Per favore, non sottolineo che non dovrei mai operare direttamente su superglobali in PHP. Lo so, questo è sbagliato. L'ho usato qui, per semplificare l'esempio.