Sono nuovo al paradigma OOP, quindi c'è probabilmente una semplice spiegazione per questa domanda ...Quando dovrei dichiarare le variabili in una classe PHP?
Hai sempre bisogno di dichiarare variabili pubbliche a livello di oggetto in una classe? Per esempio:
<?php
class TestClass
{
var $declaredVar;
function __construct()
{
$this->declaredVar = "I am a declared variable.";
$this->undeclaredVar = "I wasn't declared, but I still work.";
}
function display()
{
echo $this->declaredVar . "<br />";
echo $this->undeclaredVar;
echo "<br /><br />";
}
}
$test = new TestClass;
$test->display();
$test->declaredVar = "The declared variable was changed.";
$test->undeclaredVar = "The undeclared variable was changed.";
$test->display();
?>
In questo codice, anche se $declaredVar
è l'unica variabile dichiarata, $undeclaredVar
è altrettanto accessibile e utilizzabile - sembra agire come se avessi dichiarato come pubblico.
Se le variabili di classe non dichiarate sono sempre accessibili in questo modo, che senso hanno dichiararle tutte in primo piano?
Quindi è solo perché PHP è davvero clemente che le variabili non dichiarate funzionano, giusto? – Andrew
Giusto. PHP dovrebbe comunque emettere un avvertimento ... inserire error_reporting (E_ALL); nella parte superiore del tuo file. – Stephan202
non tanto indulgente come interpretato –