En su mayor parte, esto es irrelevante. A diferencia de muchos idiomas, en PHP (por lo general) no importa si inicializa una variable. PHP emitirá automáticamente una variable no inicializada (o incluso no declarada) según corresponda para el uso inmediato. Por ejemplo, los siguientes son los correctos:
$a;
$a + 7; // Evaluates to 7
$a . "This is a test."; // Evaluates to "This is a test."
if (! $a) {} // Evaluates as true
La única salvedad es que seleccionar las funciones de verificación para el tipo de variable (como lo hace la comprobación estricta igualdad, ===). Por ejemplo, falla el siguiente:
$a;
if (is_string($a)) {
print 'success';
}
else {
print 'fail';
}
Sin embargo, esta conveniencia tiene un costo elevado. A diferencia de los lenguajes estrictamente tipados (o, al menos, "más estrictamente"), no hay nada en el lenguaje central para ayudarlo a detectar errores comunes del programador. Por ejemplo, lo siguiente será felizmente ejecutar, pero probablemente no como se esperaba:
$isLoggedIn = getLoginStatus($user);
if ($isLogedIn) {
// Will never run
showOrder($user);
}
else {
showLoginForm();
}
Si elige para inicializar todas las variables, hacerlo tal como lo hizo. Pero luego active los avisos de PHP (E_NOTICE) para obtener advertencias de tiempo de ejecución sobre variables sin inicializar. Si no lo haces, básicamente estás perdiendo el tiempo y presionando las teclas para inicializar tu propia variable.
Las cadenas no son objetos de primera clase en PHP, por lo que no hay realmente ninguna otra forma de inicializarlos en su código ... – rdlowrey