Sự khác nhau giữa hai hàm gọi hàm này trong PHP là gì?@ ký tự trước khi gọi hàm
init_get($somevariable);
@init_get($somevariable);
Sự khác nhau giữa hai hàm gọi hàm này trong PHP là gì?@ ký tự trước khi gọi hàm
init_get($somevariable);
@init_get($somevariable);
"@" sẽ tắt tiếng bất kỳ lỗi php nào mà chức năng của bạn có thể tăng lên.
Thông báo cũng sẽ bị tắt tiếng, vì vậy không chỉ lỗi – lugte098
Nhưng nếu bạn đặt '@' trước hàm 'trigger_error' của PHP thì sao? Tôi đã thấy rằng trong một số mã, nhưng hành vi của nó là không phù hợp với tôi cho đến nay. Trong một số trường hợp, tôi thấy lỗi được báo cáo bởi trình xử lý lỗi được định cấu hình và trong các trường hợp khác, dường như nó được báo cáo. – fritzmg
'@' sẽ tạm thời đặt 'error_reporting' thành 0 nhưng sẽ không" chặn "lỗi. – solidgumby
Nó tắt tiếng lỗi và cảnh báo. Xem Error Control Operators.
http://www.faqts.com/knowledge_base/view.phtml/aid/18068/fid/38
Tất cả các biểu thức PHP có thể được gọi với "@" tiền tố, mà tắt lỗi báo cáo cho rằng biểu hiện cụ thể.
Như đã trả lời, @
sẽ dừng lỗi (nếu có) hiển thị.
Về mặt hiệu suất, điều này không được khuyến nghị.
php gì đang làm là:
Nếu bạn không muốn bất kỳ lỗi nào hiển thị việc sử dụng error_reporting(0);
.
Hoặc chỉ viết mã lỗi miễn phí: P
Hoặc 'error_reporting (NONE);' –
Muốn đặt 0, nhưng nếu nó hoạt động, tuyệt vời không biết về nó :) – AntonioCS
Còn về các chức năng mà bạn không kiểm soát, chẳng hạn như thư? Các tùy chọn khác tồn tại? Tôi đang sử dụng @ ngay bây giờ, nhưng sẽ là tuyệt vời để có thể làm theo cách khác nhau – spuas
Như mọi người đã nói, nó dừng đầu ra lỗi cho hàm cụ thể đó. Tuy nhiên, điều này làm giảm hiệu suất rất nhiều vì nó phải thay đổi cài đặt hiển thị lỗi hai lần. Tôi khuyên bạn KHÔNG nên bỏ qua cảnh báo hoặc lỗi và sửa mã thay thế.
Nhờ tất cả các câu trả lời của bạn. Mã đó không phải của tôi, tôi chỉ nhìn vào mã phpBB cho sự tò mò, vì vậy tôi không có vấn đề về hiệu suất. :) Cảm ơn một lần nữa. – nixie
"@" sẽ đóng mọi lỗi và thông báo php –