prettier / prettier/plugin-php
Parentheses around nested ternary expressions are removed, causing syntax error in PHP 8.0
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- PHP
- Star
- 1.9k
- Fork
- 139
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
@prettier/plugin-php v0.19.2
Playground link
Input:
<?php
var_dump((1 ? 2 : 3) ?: 4);
Output:
<?php
var_dump(1 ? 2 : 3 ?: 4);
Leads to this syntax error in PHP 8.1:
Nested ternary expressions are deprecated since PHP 7.4
Note: It does work as expected when you don't make use of a shorthand ternary operator (?:).
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Tái hiện việc định dạng bằng playground PHP được liên kết, sử dụng đầu vào toán tử ba ngôi lồng nhau được cung cấp, rồi so sánh với đầu ra được hiển thị. Truy vết đường đi của formatter chịu trách nhiệm loại bỏ dấu ngoặc đơn, sau đó xác minh rằng việc định dạng vẫn giữ lại các dấu ngoặc đơn bắt buộc và không còn tạo ra lỗi cú pháp PHP 8.1.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- php
- Lĩnh vực
- tooling
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 45/100