Soy nuevo en el paradigma OOP, por lo que probablemente haya una explicación simple para esta pregunta ...¿Cuándo debería declarar las variables en una clase de PHP?
¿Siempre tiene que declarar variables públicas para todo el objeto en una clase? Por ejemplo:
<?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();
?>
En este código, a pesar de que $declaredVar
es la única variable declarada, $undeclaredVar
es tan accesible y utilizable - que parece actuar como si hubiera declarado como público.
Si las variables de clase no declaradas son siempre accesibles de esa manera, ¿de qué sirve declararlas todas por adelantado?
Entonces, es solo porque PHP está perdonando que las variables no declaradas funcionen, ¿verdad? – Andrew
Derecha. Sin embargo, PHP debería emitir una advertencia ... place error_reporting (E_ALL); en la parte superior de tu archivo. – Stephan202
no tan indulgente como ser interpretado –