STUBS là các tệp PHP bình thường, chính xác về mặt cú pháp có chứa chữ ký hàm & lớp, định nghĩa hằng số, v.v. cho tất cả nội dung PHP tích hợp và hầu hết các tiện ích mở rộng tiêu chuẩn. Sơ khai cần bao gồm PHPDOC hoàn chỉnh, đặc biệt là các chú thích @return thích hợp
Một IDE cần chúng để hoàn thành, kiểm tra mã, suy luận kiểu, cửa sổ bật lên tài liệu, v.v. Chất lượng của hầu hết các dịch vụ này phụ thuộc vào chất lượng của sơ khai [về cơ bản là chú thích @PHPDOC của chúng]
Lưu ý rằng sơ khai cho tiện ích mở rộng "không chuẩn" được cung cấp nguyên trạng. [Các tiện ích mở rộng không chuẩn là những tiện ích không phải là một phần của PHP Core hoặc không được đóng gói/bên ngoài - xem danh sách đầy đủ tại đây. ]
Hỗ trợ cho các sơ khai “không chuẩn” như vậy là dựa vào cộng đồng và chúng tôi chỉ xác thực PHPDoc của họ. Chúng tôi không kiểm tra xem một sơ khai có khớp với phần mở rộng thực tế hay không hoặc liệu các mô tả được cung cấp có chính xác hay không
Xin lưu ý rằng hiện tại không có bài kiểm tra nào đối với các ngoại lệ được ném nên thẻ @throws phải được kiểm tra thủ công theo tài liệu chính thức hoặc mã nguồn PHP
Các vấn đề mở có liên quan
quá trình đóng góp
quá trình đóng góp
Cập nhật IDE
Có một bản sao đầy đủ của. git repo trong một IDE và cung cấp đường dẫn của nó trong Settings | Languages & Frameworks | PHP | PHP Runtime | Advanced settings | Default stubs path
. Sau đó, nó có thể dễ dàng cập nhật theo cả hai cách thông qua các phương thức git thông thường
Tiện ích mở rộng được bật theo mặc định
Bộ tiện ích mở rộng được bật mặc định trong PhpStorm có thể thay đổi bất cứ lúc nào mà không cần báo trước. Để tìm hiểu cách xem các tiện ích mở rộng đã bật, hãy xem tại đây
Nếu bạn có một dự án đã có nhà soạn nhạc. json và bạn muốn thêm một số gói php vào đó, bạn có thể tìm thấy menu quản lý phụ thuộc tại đây
#[Deprecated[
reason: 'since Symfony 5.2, use setPublic[] instead',
replacement: '%class%->setPublic[!%parameter0%]'
]]
0
Sử dụng Hình dạng mảng khi bạn xử lý các mảng giống như đối tượng và muốn chỉ định tên và loại của khóa cho các giá trị để nhận được hỗ trợ viết mã tốt hơn
#[ArrayShape[[ // 'key' => 'type', 'key1' => 'int', 'key2' => 'string', 'key3' => 'Foo', 'key3' => App\PHP8\Foo::class, ]]] function functionName[...]: array
Thuộc tính hoạt động với PHP ≤ 7. 4 nếu được chỉ định trong một dòng
#[Deprecated[
reason: 'since Symfony 5.2, use setPublic[] instead',
replacement: '%class%->setPublic[!%parameter0%]'
]]
1
Đánh dấu thuộc tính hoặc toàn bộ đối tượng bằng thuộc tính này nếu bạn muốn đảm bảo rằng chúng sẽ không bị thay đổi sau khi khởi tạo
#[Immutable] class DTO { public string $val; public function __construct[string $val] { $this->val = $val; } }
Thuộc tính hoạt động với PHP ≤ 7. 4 nếu được chỉ định trong một dòng
#[Deprecated[
reason: 'since Symfony 5.2, use setPublic[] instead',
replacement: '%class%->setPublic[!%parameter0%]'
]]
2
Sử dụng thuộc tính này cho các chức năng không tạo ra bất kỳ tác dụng phụ nào. Tất cả các chức năng bên trong PHP như vậy đã được đánh dấu trong PhpStorm
#[Pure] function compare[Foo $a, Foo $b]: int { return $a->a $b->b; }
#[Deprecated[
reason: 'since Symfony 5.2, use setPublic[] instead',
replacement: '%class%->setPublic[!%parameter0%]'
]]
3
Sử dụng thuộc tính này để chỉ định chính xác giá trị nào mà hàm chấp nhận làm tham số và giá trị nào hàm có thể trả về. Điều này sẽ cải thiện hỗ trợ mã hóa
function response[ #[ExpectedValues[valuesFromClass: Response::class]] $httpStatusCode, //... ] { //... }
#[Deprecated[
reason: 'since Symfony 5.2, use setPublic[] instead',
replacement: '%class%->setPublic[!%parameter0%]'
]]
4
Đánh dấu các chức năng kết thúc thực thi tập lệnh là điểm thoát bằng thuộc tính này để phân tích luồng điều khiển chính xác hơn
#[NoReturn] function redirect[]: void { //... exit[]; }
#[Deprecated[
reason: 'since Symfony 5.2, use setPublic[] instead',
replacement: '%class%->setPublic[!%parameter0%]'
]]
5
Thêm thuộc tính này để đánh dấu các tham số chuỗi chứa văn bản trong một số ngôn ngữ [lập trình] khác, ví dụ: RegExp, SQL, v.v. Điều này sẽ cải thiện việc làm nổi bật và hiển thị các tính năng bổ sung của PhpStorm cho bạn
Lỗi và yêu cầu tính năng
Vui lòng báo cáo bất kỳ sự cố nào cho trình theo dõi sự cố PhpStorm https. // theo dõi. phản lực. com/newIssue?project=WI