algolia search

Tìm thấy x bài viết trong xms.

PHP khai báo declare(strict_types=1); ở đầu file có tác dụng gì?


Trong PHP, khai báo declare(strict_types=1); ở đầu file có tác dụng bật chế độ kiểm tra kiểu dữ liệu nghiêm ngặt. Điều này có nghĩa là PHP sẽ kiểm tra kiểu dữ liệu của các giá trị đầu vào (argument) và giá trị trả về của hàm hoặc phương thức so với kiểu dữ liệu đã được khai báo trong khai báo hàm. Nếu các giá trị không khớp với các kiểu dữ liệu đã khai báo, PHP sẽ phát sinh lỗi thay vì tự động cố gắng chuyển đổi kiểu dữ liệu (type coercion).

Ví dụ về sử dụng declare(strict_types=1);

declare(strict_types=1);

function add(int $a, int $b): int {
    return $a + $b;
}

echo add(1, 2); // Kết quả là 3
echo add(1.5, 2.5); // Sẽ phát sinh lỗi TypeError vì tham số truyền vào không phải là kiểu int

Lợi ích của declare(strict_types=1);

  1. Giúp phát hiện lỗi sớm hơn: Bằng cách bật chế độ kiểm tra kiểu dữ liệu nghiêm ngặt, bạn có thể phát hiện sớm các lỗi về kiểu dữ liệu trong quá trình phát triển, thay vì để chúng gây ra lỗi không mong muốn trong quá trình chạy ứng dụng.

  2. Tăng tính nhất quán và rõ ràng trong mã nguồn: Khi sử dụng strict types, các hàm và phương thức của bạn sẽ có các kiểu dữ liệu đầu vào và đầu ra rõ ràng và nhất quán, giúp cho mã nguồn dễ đọc và dễ bảo trì hơn.

  3. Giảm thiểu lỗi ngầm định từ việc chuyển đổi kiểu dữ liệu tự động: PHP có khả năng tự động chuyển đổi kiểu dữ liệu, điều này có thể gây ra các lỗi khó tìm và không mong muốn. Sử dụng strict types giúp giảm thiểu những lỗi này bằng cách yêu cầu các kiểu dữ liệu phải khớp chính xác.

Lưu ý

  • Chế độ strict types chỉ áp dụng cho file mà nó được khai báo. Nếu một file khác gọi hàm từ file này nhưng không khai báo declare(strict_types=1);, thì chế độ strict types sẽ không được áp dụng.
  • Chế độ strict types chỉ áp dụng cho các kiểu dữ liệu khai báo trong hàm và phương thức, không áp dụng cho các phần khác của mã nguồn.

Kết luận

Khai báo declare(strict_types=1); giúp bạn viết mã nguồn PHP rõ ràng, nhất quán và ít lỗi hơn bằng cách đảm bảo rằng các giá trị đầu vào và giá trị trả về của hàm/phương thức phải khớp chính xác với các kiểu dữ liệu đã khai báo.

Đánh giá bài viết

Thích thì like
PHP khai báo declare(strict_types=1); ở đầu file có tác dụng gì?
5/5 1 votes

Bình luận

Hiển thị bình luận Facebook