Trong C, #ifdef thường liên quan đến việc viết/bật/tắt mã tùy chỉnh dựa trên việc xác định có tồn tại hay không. Mặc dù OP không tìm kiếm câu trả lời sau, người dùng công cụ tìm kiếm có thể quan tâm để có được câu trả lời mở rộng. (Câu hỏi này đã giúp tôi RTM tìm câu trả lời sau.)
Nếu có tệp .php được bao gồm nhiều lần, có thể thuận tiện để khai báo hàm chỉ khi nó chưa được khai báo trước của cùng một tệp. Thuận tiện, trong trường hợp này, đang giữ mã có liên quan chặt chẽ trong cùng một tệp thay vì phải đặt mã trong một tệp riêng biệt include_once
.php và mã riêng biệt không cần thiết thường không được sử dụng lại trong các ngữ cảnh khác (tệp).
Kể từ khi nó có vẻ lãng phí/không đúng với khai báo lại chức năng nhiều lần, nó chỉ ra rằng một # ifdef giống như cấu trúc trong PHP có thể:
if (! function_exists('myfunc'))
{
function myfunc(...)
{
...
}
}
đâu ...
chỉ fill-in-the của bạn chỗ trống.
Xem thêm: function_exists (PHP 4, PHP 5) (w/comments).
http://php.net/manual/en/function.defined.php – j08691
Về mặt kỹ thuật, không, như 'define' /' defined' của PHP được đánh giá tại ** thời gian chạy ** (định nghĩa PHP gần giống như biến), và không có (builtin) ** preprocessor ** có khả năng vô hiệu hóa một loạt các dòng mã mà không đánh giá tính đúng đắn của cú pháp của nó (ví dụ, vô hiệu hóa cú pháp cú pháp sai với PHP 'if (defined (...)) 'sẽ không giúp ích gì). – leemes