PHPStan tập trung vào việc tìm lỗi trong mã của bạn. Nhưng trong PHP có rất nhiều khoảng trống trong cách viết nội dung. Kho lưu trữ này chứa các quy tắc bổ sung xoay quanh mã được gõ mạnh và nghiêm ngặt mà không cần truyền lỏng lẻo cho những ai muốn có thêm sự an toàn trong lập trình cực kỳ phòng thủ
- Yêu cầu booleans trong
0,includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
1, toán tử bậc ba, sauincludes: - vendor/phpstan/phpstan-strict-rules/rules.neon
2 và trên cả hai vế củaincludes: - vendor/phpstan/phpstan-strict-rules/rules.neon
3 vàincludes: - vendor/phpstan/phpstan-strict-rules/rules.neon
4includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
- Yêu cầu toán hạng số hoặc mảng trong
0 và toán hạng số trongincludes: - vendor/phpstan/phpstan-strict-rules/rules.neon
1/includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
2/includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
3/includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
4/includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
5includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
- Yêu cầu toán hạng số trong
6,includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
7,includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
8andincludes: - vendor/phpstan/phpstan-strict-rules/rules.neon
9includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
- Các chức năng này chứa tham số
00 để đảm bảo an toàn cho loại tốt hơn, nó phải được đặt thànhincludes: - vendor/phpstan/phpstan-strict-rules/rules.neon
01includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
02 [tham số thứ 3]includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
03 [tham số thứ 3]includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
04 [tham số thứ 3; chỉ khi tham số thứ 2includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
05 được cung cấp]includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
06 [tham số thứ 2]includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
- Các biến được gán trong điều kiện vòng lặp
07 và phép gán ban đầu của vòng lặpincludes: - vendor/phpstan/phpstan-strict-rules/rules.neon
08 không thể được sử dụng sau vòng lặpincludes: - vendor/phpstan/phpstan-strict-rules/rules.neon
- Các biến được đặt trong foreach luôn được lặp nhờ các mảng không trống không thể được sử dụng sau vòng lặp
- Các loại trong điều kiện
09 và giá trịincludes: - vendor/phpstan/phpstan-strict-rules/rules.neon
00 phải khớp. PHP so sánh chúng một cách lỏng lẻo theo mặc định và điều đó có thể dẫn đến kết quả không mong muốnincludes: - vendor/phpstan/phpstan-strict-rules/rules.neon
- Kiểm tra xem các phương thức được khai báo tĩnh có được gọi là tĩnh không
- Không cho phép
01 - đó là một phép so sánh rất lỏng lẻo [xem hướng dẫn], nên sử dụng một phép so sánh nghiêm ngặt hơnincludes: - vendor/phpstan/phpstan-strict-rules/rules.neon
- Không cho phép toán tử bậc ba ngắn [
02] - ngụ ý so sánh yếu, nên sử dụng toán tử hợp nhất null [includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
03] hoặc toán tử bậc ba với điều kiện nghiêm ngặtincludes: - vendor/phpstan/phpstan-strict-rules/rules.neon
- Không cho phép biến biến [
04,includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
05, v.v. ]includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
- Không cho phép ghi đè biến bằng biến khóa và giá trị foreach
- Luôn đúng
06, các hàmincludes: - vendor/phpstan/phpstan-strict-rules/rules.neon
07 kiểm tra kiểu và so sánh chặt chẽincludes: - vendor/phpstan/phpstan-strict-rules/rules.neon
08/includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
09. Có thể tắt các kiểm tra này bằng cách đặtincludes: - vendor/phpstan/phpstan-strict-rules/rules.neon
00/includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
01/includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
02 thành falseincludes: - vendor/phpstan/phpstan-strict-rules/rules.neon
- Trường hợp đúng cho tên hàm được tham chiếu và được gọi
- Trường hợp chính xác cho các tên phương thức được kế thừa và triển khai
- Chống chỉ định đối với các loại tham số và hiệp phương sai đối với các loại trả về trong các phương thức được kế thừa [còn được gọi là nguyên tắc thay thế Liskov - LSP]
- Kiểm tra LSP ngay cả đối với các phương thức tĩnh
- Yêu cầu gọi hàm tạo cha mẹ
- Không cho phép sử dụng toán tử backtick [
03]includes: - vendor/phpstan/phpstan-strict-rules/rules.neon
- Việc đóng nên sử dụng trực tiếp
04 thay vì sử dụng biếnincludes: - vendor/phpstan/phpstan-strict-rules/rules.neon
04 một cách gián tiếpincludes: - vendor/phpstan/phpstan-strict-rules/rules.neon
Các quy tắc bổ sung sẽ đến trong các bản phát hành tiếp theo
Cài đặt
Để sử dụng tiện ích mở rộng này, hãy yêu cầu nó trong Composer
includes:
- vendor/phpstan/phpstan-strict-rules/rules.neon
6Nếu bạn cũng cài đặt phpstan/trình cài đặt tiện ích mở rộng thì bạn đã hoàn tất
Nếu bạn không muốn sử dụng
includes:
- vendor/phpstan/phpstan-strict-rules/rules.neon
06, hãy bao gồm các quy tắc. neon trong cấu hình PHPStan của dự án của bạnincludes:
- vendor/phpstan/phpstan-strict-rules/rules.neon
vô hiệu hóa quy tắc
Bạn có thể tắt các quy tắc bằng các tham số cấu hình
includes:
- vendor/phpstan/phpstan-strict-rules/rules.neon
0Kích hoạt từng quy tắc một
Nếu bạn không muốn bắt đầu sử dụng tất cả các quy tắc nghiêm ngặt có sẵn cùng một lúc mà chỉ một hoặc hai, bạn có thể
AST trong PHP là gì?
The Cây cú pháp trừu tượng [AST] là khung cơ sở cho nhiều công cụ mạnh mẽ của IDE Eclipse, bao gồm Đánh dấu ngữ nghĩa, Tái cấu trúc, Nhanh . Cây cú pháp trừu tượng ánh xạ mã nguồn PHP đơn giản ở dạng cây.
Cây cú pháp trong xây dựng trình biên dịch là gì?
Cú pháp cây là cây trong đó mỗi nút lá đại diện cho một toán hạng, trong khi mỗi nút bên trong đại diện cho một toán tử . Parse Tree được viết tắt là cây cú pháp. Cây cú pháp thường được sử dụng khi biểu diễn chương trình theo cấu trúc cây.