Bug: Prettier incorrectly adds parentheses when using new with a static property

Đang mở
#2,441 2 bình luận 1 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
45/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
php
Lĩnh vực
tooling

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện ví dụ PHP 8.4 từ issue bằng Prettier, đồng thời so sánh mã trước và sau khi định dạng. Được xem là hoàn tất khi thuộc tính tĩnh trong mẫu new Yii::$app->class([]) vẫn giữ nguyên mà không có dấu ngoặc đơn được thêm vào và PHP tạo ra vẫn hợp lệ.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Description:

When formatting code with Prettier in PHP 8.4, parentheses are incorrectly added to a static property when instantiating an object. This causes a syntax error and breaks the application.

Example:

Before Prettier:

$identifier = new Yii::$app->class([]);

After Prettier:

$identifier = new Yii::$app()->class([]);

Expected behavior:
Prettier should leave the code as-is without adding parentheses when using new on a static property.

Actual behavior:
Prettier adds () to the static property, resulting in invalid syntax.

Impact:
Code breaks when executed, causing runtime errors in applications using this pattern.

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của prettier/plugin-php

Tất cả issue của prettier/plugin-php

Issue tương tự

Thêm issue về PHP

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.