По большей части это не имеет значения. В отличие от многих языков, в PHP это (обычно) не имеет значения, инициализируете ли вы переменную. PHP автоматически приведёт неинициализированную (или даже необъявленную) переменную в зависимости от необходимости немедленного использования. Например, все правильно:
$a;
$a + 7; // Evaluates to 7
$a . "This is a test."; // Evaluates to "This is a test."
if (! $a) {} // Evaluates as true
Единственное предупреждение: функции выбора проверяют тип переменной (как и строгая проверка на равенство, ===). Например, следующее не удается:
$a;
if (is_string($a)) {
print 'success';
}
else {
print 'fail';
}
Это удобство сопряжено с большими затратами. В отличие от строго типизированных (или, по крайней мере, «более строго типизированных») языков, в самом базовом языке нет ничего, что помогло бы вам отлавливать типичные ошибки программиста. Например, следующее будет успешно выполнено, но, вероятно, не так, как ожидалось:
$isLoggedIn = getLoginStatus($user);
if ($isLogedIn) {
// Will never run
showOrder($user);
}
else {
showLoginForm();
}
Если вы решите инициализировать все свои переменные, сделайте это так же, как вы. Но затем включите уведомления PHP (E_NOTICE), чтобы получать предупреждения времени выполнения о неинициализированных переменных. Если вы этого не сделаете, вы в основном тратите время и нажатия клавиш, инициализируя свою собственную переменную.