Đối với hầu hết các phần, điều này không liên quan. Không giống như nhiều ngôn ngữ, trong PHP nó (thường) không quan trọng cho dù bạn khởi tạo một biến. PHP sẽ tự động truyền biến chưa được khởi tạo (hoặc thậm chí không khai báo) khi thích hợp để sử dụng ngay lập tức. Ví dụ: các thông tin sau đây đều chính xác:
$a;
$a + 7; // Evaluates to 7
$a . "This is a test."; // Evaluates to "This is a test."
if (! $a) {} // Evaluates as true
Điều quan trọng là chọn chức năng kiểm tra loại biến (như kiểm tra nghiêm ngặt bình đẳng, ===). Ví dụ: các lỗi sau không thành công:
$a;
if (is_string($a)) {
print 'success';
}
else {
print 'fail';
}
Tiện ích này có chi phí rất cao. Không giống như các ngôn ngữ chính tả (hoặc ít nhất là "được nhập đúng hơn"), không có gì trong ngôn ngữ chính để giúp bạn nắm bắt các lỗi lập trình phổ biến. Ví dụ: những điều sau đây sẽ thực hiện một cách vui vẻ, nhưng có thể không như mong đợi:
$isLoggedIn = getLoginStatus($user);
if ($isLogedIn) {
// Will never run
showOrder($user);
}
else {
showLoginForm();
}
Nếu bạn chọn khởi tạo tất cả các biến, hãy làm như bạn đã làm. Nhưng sau đó bật thông báo PHP (E_NOTICE) để nhận cảnh báo thời gian chạy về các biến chưa được khởi tạo. Nếu bạn không, bạn về cơ bản lãng phí thời gian và tổ hợp phím khởi tạo biến của riêng bạn.
Nguồn
2012-01-27 17:39:32
Strings không đối tượng lớp đầu tiên trong php, do đó không thực sự bất kỳ khác cách để khởi tạo chúng trong mã của bạn ... – rdlowrey