Sử dụng điều này cho phép tập lệnh PHP tiếp tục chạy khi gặp lỗi – và có thể sử dụng các chức năng khác để xử lý các thông báo lỗi
Ví dụ: nếu cố lấy nội dung của một tệp không tồn tại
$file_name = @file_get_contents['this_file_does_not_exist'] OR print_r[ error_get_last[] ];
Sẽ xuất thông báo lỗi, trong khi để tập lệnh tiếp tục chạy
Để biết thêm thông tin về vị trí và cách sử dụng, hãy xem tài liệu chính thức – PHP. Toán tử kiểm soát lỗi
Toán tử là thứ nhận một hoặc nhiều giá trị [hoặc biểu thức, theo thuật ngữ lập trình] và mang lại giá trị khác [để bản thân cấu trúc trở thành biểu thức]
Các toán tử có thể được nhóm theo số lượng giá trị mà chúng nhận. Các toán tử một ngôi chỉ nhận một giá trị, ví dụ !
[toán tử logic not] hoặc ++
[toán tử tăng]. Các toán tử nhị phân nhận hai giá trị, chẳng hạn như các toán tử số học quen thuộc _______________ [cộng] và _______________ [trừ] và phần lớn các toán tử PHP thuộc loại này. Cuối cùng, có một , ? :
, nhận ba giá trị;
Danh sách đầy đủ các toán tử PHP có trong phần Toán tử ưu tiên. Phần này cũng giải thích mức độ ưu tiên và tính kết hợp của toán tử, chi phối chính xác cách các biểu thức chứa một số toán tử khác nhau được đánh giá
Giống như một số đã trả lời trước đây. Toán tử @
chặn tất cả các lỗi trong PHP, bao gồm các thông báo, cảnh báo và thậm chí cả các lỗi nghiêm trọng
NHƯNG. Xin vui lòng, thực sự không sử dụng toán tử @
Tại sao?
Chà, bởi vì khi bạn sử dụng toán tử _______________ để loại bỏ lỗi, bạn hoàn toàn không biết bắt đầu từ đâu khi xảy ra lỗi. Tôi đã có một chút "thú vị" với mã kế thừa khi một số nhà phát triển sử dụng toán tử @
khá thường xuyên. Đặc biệt trong các trường hợp như thao tác tệp, cuộc gọi mạng, v.v. Đó là tất cả các trường hợp mà nhiều nhà phát triển khuyến nghị sử dụng toán tử @
vì điều này đôi khi nằm ngoài phạm vi khi xảy ra lỗi ở đây [ví dụ: API của bên thứ ba có thể không truy cập được, v.v. ]
Nhưng điểm để vẫn không sử dụng nó là gì?
Là một nhà phát triển. Khi @
được sử dụng, tôi hoàn toàn không biết bắt đầu từ đâu. Nếu có hàng trăm hoặc thậm chí hàng nghìn lời gọi hàm với @
thì lỗi có thể giống như everyhwere. Không thể gỡ lỗi hợp lý trong trường hợp này. Và ngay cả khi đó chỉ là lỗi của bên thứ 3 - thì nó vẫn ổn và bạn đã hoàn thành nhanh chóng. ;-] Hơn nữa, tốt hơn là thêm đủ chi tiết vào nhật ký lỗi, để nhà phát triển có thể dễ dàng quyết định xem mục nhập nhật ký có phải là thứ cần phải kiểm tra thêm hay đó chỉ là lỗi của bên thứ 3 nằm ngoài phạm vi của nhà phát triển
Là người dùng. Người dùng hoàn toàn không quan tâm lý do xảy ra lỗi là gì hay không. Phần mềm ở đó để họ làm việc, để hoàn thành một nhiệm vụ cụ thể, v.v. Họ không quan tâm đó là lỗi của nhà phát triển hay sự cố của bên thứ 3. Đặc biệt đối với người dùng, tôi thực sự khuyên bạn nên ghi lại tất cả các lỗi, ngay cả khi chúng nằm ngoài phạm vi. Có thể bạn sẽ nhận thấy rằng một API cụ thể thường xuyên ngoại tuyến. Bạn có thể làm gì?
Nói ngắn gọn. Bạn nên biết rằng tồn tại thứ gì đó như @
[kiến thức luôn tốt], nhưng đừng sử dụng nó. Nhiều nhà phát triển [đặc biệt là những mã gỡ lỗi từ người khác] sẽ rất biết ơn
PHP hỗ trợ toán tử kiểm soát lỗi i. e. dấu tại [@]. Khi @ được thêm vào trước một biểu thức, mọi thông báo lỗi có thể được tạo bởi biểu thức đó sẽ bị bỏ qua
Để sử dụng biểu tượng @ trong PHP, mã như sau−
Thí dụ
Bản thử trực tiếp
đầu ra
Điều này sẽ tạo ra đầu ra sau−
Failed in opening the file: Error Message = ''PHP Notice: Undefined variable: err in /home/cg/root/6985034/main.php on line 4
Thí dụ
Bây giờ chúng ta hãy xem một ví dụ khác−
Bản thử trực tiếp
đầu ra
Điều này sẽ tạo ra đầu ra sau−
PHP Parse error: syntax error, unexpected '$val' [T_VARIABLE] in /home/cg/root/6985034/main.php on line 5
Các toán tử số học PHP được sử dụng với các giá trị số để thực hiện các phép toán số học phổ biến, chẳng hạn như cộng, trừ, nhân, v.v.
Toán tửNameVí dụKết quảHiển thị nó+Thêm$x + $yTổng của $x và $yHãy thử »-Trừ$x - $ySự khác biệt của $x và $yHãy thử »*Phép nhân$x * $yTích của $x và $yHãy thử »/Phân chia$Toán tử gán PHP
Các toán tử gán PHP được sử dụng với các giá trị số để ghi một giá trị cho một biến
Toán tử gán cơ bản trong PHP là "=". Điều đó có nghĩa là toán hạng bên trái được đặt thành giá trị của biểu thức gán bên phải