Trong tệp PHP, đặt con trỏ của bạn trên dòng đầu tiên của hàm, biến hoặc lớp, sau đó gọi tiện ích mở rộng Thêm nhận xét PHPDoc [mở bảng lệnh [F1] và tìm lệnh 'Thêm nhận xét PHPDoc']. Nhấn Enter. Bạn cũng có thể nhấn phím tắt
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }18 hoặc menu ngữ cảnh
Hạn chế
Các loại tham số không được suy ra dựa trên việc sử dụng. Nếu một loại không được chỉ định, một
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }19 được trả về
Bạn có thể điều chỉnh Cài đặt. biên tập viên. Mẫu tệp và mã. Bao gồm. Mẫu Nhận xét tài liệu chức năng PHP để chúng tôi không thêm chúng
— JetBrains PhpStorm [@phpstorm] ngày 4 tháng 11 năm 2020Gói này tạo các tệp trợ giúp cho phép IDE của bạn cung cấp tính năng tự động hoàn thành chính xác. Việc tạo được thực hiện dựa trên các tệp trong dự án của bạn, vì vậy chúng luôn được cập nhật
Nó hỗ trợ Laravel 8+ và PHP 7. 3+
Cài đặt
Yêu cầu gói này với trình soạn thảo bằng lệnh sau
composer require --dev barryvdh/laravel-ide-helper
Gói này sử dụng cơ chế tự động khám phá gói của Laravel, có nghĩa là nếu bạn không cài đặt các phần phụ thuộc của nhà phát triển trong quá trình sản xuất, thì nó cũng sẽ không được tải
Nếu vì lý do nào đó bạn muốn điều khiển thủ công
- thêm gói vào khóa
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }
1 trongpublic function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }
2, e. g"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }
- Thêm lớp sau vào mảng
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }
3 trongpublic function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }
4Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
Nếu bạn chỉ muốn tải nó theo cách thủ công trong môi trường phi sản xuất, thay vào đó, bạn có thể thêm phần này vàopublic function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }
5 của mình bằng phương thứcpublic function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }
6public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }
Ghi chú. Tránh lưu cấu hình vào bộ đệm trong môi trường phát triển của bạn, nó có thể gây ra sự cố sau khi cài đặt gói này;
Cách sử dụng
Hãy xem video Laracasts này để biết phần giới thiệu/giải thích nhanh
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }
8 -public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }
9 -public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }
30 -
Ghi chú. Bạn cần CodeComplice cho Sublime Text. https. //github. com/spectacles/CodeComplice
Tự động tạo PHPDoc cho Laravel Facades
Giờ đây, bạn có thể tự tạo lại tài liệu [để cập nhật trong tương lai]
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }3
Ghi chú.
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }31 phải được xóa trước, vì vậy hãy chạy
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }32 trước khi tạo
Thao tác này sẽ tạo tệp
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }33 dự kiến sẽ được IDE của bạn phân tích cú pháp bổ sung để tự động hoàn tất. Bạn có thể sử dụng cấu hình
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }34 để thay đổi tên của nó
Bạn có thể định cấu hình
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }2 của mình để thực hiện việc này mỗi khi bạn cập nhật các phần phụ thuộc của mình
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }0
Bạn cũng có thể xuất bản tệp cấu hình để thay đổi triển khai [tức là. giao diện cho lớp cụ thể] hoặc đặt mặc định cho
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }36
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }2
Trình tạo cố gắng xác định lớp thực, nhưng nếu không tìm thấy nó, bạn có thể xác định nó trong tệp cấu hình
Một số lớp cần kết nối cơ sở dữ liệu đang hoạt động. Nếu bạn không có kết nối làm việc mặc định, một số mặt tiền sẽ không được đưa vào. Bạn có thể sử dụng trình điều khiển SQLite trong bộ nhớ bằng cách thêm tùy chọn
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }37
Bạn có thể chọn bao gồm các tệp trợ giúp. Tính năng này không được bật theo mặc định nhưng bạn có thể ghi đè lên bằng tùy chọn
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }38.
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }39 đã được thiết lập, nhưng bạn có thể thêm/xóa các tệp của riêng mình trong tệp cấu hình
Tự động tạo PHPDoc cho macro và mixin
Gói này có thể tạo PHPDocs cho macro và mixin sẽ được thêm vào tệp
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }33
Nhưng điều này chỉ hoạt động nếu bạn sử dụng gợi ý kiểu khi khai báo macro
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }7
PHPDocs tự động cho các mô hình
Nếu bạn không muốn tự viết các thuộc tính của mình, bạn có thể sử dụng lệnh
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }9 để tạo PHPDocs, dựa trên các cột bảng, quan hệ và getters/setters
Ghi chú. lệnh này yêu cầu kết nối cơ sở dữ liệu đang hoạt động để xem xét kỹ bảng của từng mô hình
Theo mặc định, bạn được yêu cầu ghi đè hoặc ghi vào một tệp riêng [
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }02]. Bạn có thể viết nhận xét trực tiếp vào tệp Mô hình của mình, sử dụng tùy chọn
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }03 hoặc buộc không viết bằng
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }04
Ngoài ra, sử dụng tùy chọn
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }05 sẽ chỉ thêm thẻ mixin vào tệp Mô hình của bạn, ghi phần còn lại vào [
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }02]. Tên class sẽ khác với model, tránh phiền toái trùng lặp IDE
Vui lòng đảm bảo sao lưu các mô hình của bạn trước khi viết thông tin
Viết cho các mô hình nên giữ các nhận xét hiện có và chỉ thêm các thuộc tính/phương thức mới. PHPDoc hiện tại được thay thế hoặc thêm vào nếu không tìm thấy. Với tùy chọn
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }07, các PHPDocs hiện có sẽ bị bỏ qua và chỉ các cột/quan hệ mới được tìm thấy mới được lưu dưới dạng PHPDocs
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }5
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }6
Với tùy chọn
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }05
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }0
Thư mục mẫu
Theo mặc định, các mô hình trong
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }09 được quét. Đối số tùy chọn cho biết mô hình nào sẽ sử dụng [cả bên ngoài ứng dụng/mô hình]
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }1
Bạn cũng có thể quét một thư mục khác, sử dụng tùy chọn
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }20 [so với đường dẫn cơ sở]
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }2
Bạn có thể xuất bản tệp cấu hình [
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }21] và đặt các thư mục mặc định
Bỏ qua các mô hình
Có thể bỏ qua các mô hình bằng cách sử dụng tùy chọn
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }22
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }3
Hoặc có thể bỏ qua bằng cách đặt cấu hình
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }23
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }4
Phép thuật public function register[]
{
if [$this->app->isLocal[]] {
$this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class];
}
// ...
}
24 phương pháp
Eloquent cho phép gọi
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }25 trên các mô hình của bạn, e. g.
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }26 và tự động dịch cái này sang e. g.
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }27
Nếu vì lý do nào đó, bạn không muốn tạo chúng [một cho mỗi cột], bạn có thể tắt tính năng này thông qua cấu hình
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }28 và đặt thành
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }29
Thuộc tính ma thuật public function register[]
{
if [$this->app->isLocal[]] {
$this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class];
}
// ...
}
70
Bạn có thể sử dụng phương pháp để đếm số kết quả từ một mối quan hệ mà không thực sự tải chúng. Những kết quả đó sau đó được đặt trong các thuộc tính theo quy ước
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }72
Theo mặc định, các thuộc tính này được tạo trong phpdoc. Bạn có thể tắt chúng bằng cách đặt cấu hình
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }73 thành
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }29
Hỗ trợ public function register[]
{
if [$this->app->isLocal[]] {
$this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class];
}
// ...
}
75 dựa trên DocBlock
Để hỗ trợ tốt hơn các IDE, các quan hệ và getters/setters cũng có thể thêm nhận xét vào một thuộc tính như cột bảng. Do đó, một docblock tùy chỉnh
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }75 được sử dụng
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }5
Các phương thức Eloquent Builder chuyên dụng
Một phương thức mới cho các mô hình hùng biện đã được thêm vào có tên là Tham khảo
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }77 nơi chúng tôi có thể thêm hỗ trợ để tạo một lớp chuyên dụng mới thay vì sử dụng phạm vi cục bộ trong chính mô hình đó
Nếu vì lý do nào đó, bạn không muốn tạo chúng [một cho mỗi cột], bạn có thể tắt tính năng này thông qua cấu hình
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }78 và đặt thành
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }29
Các loại cơ sở dữ liệu tùy chỉnh hoặc không được hỗ trợ
Các loại cột phổ biến [e. g. varchar, số nguyên] được ánh xạ chính xác tới các loại PHP [
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }50,
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }51]
Nhưng đôi khi bạn có thể muốn sử dụng các loại cột tùy chỉnh trong cơ sở dữ liệu của mình như ________ 352, ________ 353, ________ 354, _______ 355, v.v. có thể đưa ra một "Loại cơ sở dữ liệu không xác định" -Exception
Đối với những trường hợp đặc biệt, bạn có thể ánh xạ chúng qua cấu hình
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }56. Ví dụ
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }6
Các loại mối quan hệ tùy chỉnh
Nếu bạn đang sử dụng các mối quan hệ không được tích hợp sẵn trong Laravel, bạn sẽ cần chỉ định tên và lớp trả về trong cấu hình để có được thế hệ phù hợp
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }7
Các mối quan hệ được tìm thấy thường sẽ tạo ra một giá trị trả về dựa trên tên của mối quan hệ
Nếu các mối quan hệ tùy chỉnh của bạn không tuân theo sơ đồ đặt tên truyền thống này, bạn có thể xác định kiểu trả về của nó theo cách thủ công. Các tùy chọn có sẵn là
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }57 và
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }58
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }8
móc mô hình
Nếu bạn cần thêm thông tin về mô hình của mình từ các nguồn không được xử lý theo mặc định, bạn có thể nối vào quy trình tạo bằng móc mô hình để thêm thông tin bổ sung một cách nhanh chóng. Chỉ cần tạo một lớp triển khai
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }59 và thêm nó vào mảng
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }60 trong cấu hình
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }9
Phương thức
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }61 sẽ được gọi trong quá trình tạo cho mọi kiểu máy và nhận
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }62 đang chạy hiện tại và
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }63 hiện tại, e. g
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,0
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,1
Tự động tạo PHPDocs cho các phương thức Laravel Fluent
Ví dụ: nếu bạn cần hỗ trợ PHPDocs cho các phương thức Fluent trong quá trình di chuyển
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,2
Sau khi xuất bản nhà cung cấp, chỉ cần thay đổi dòng
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }64 trong tệp
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }65 của bạn thành
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,3
Sau đó chạy
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }8, bây giờ bạn sẽ thấy tất cả các phương thức Fluent được IDE của bạn công nhận
Tự động hoàn thành cho người xây dựng nhà máy
Nếu bạn muốn các phương thức
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }67 và
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }68 trả về đúng lớp mô hình, bạn có thể bật trình tạo nhà máy tùy chỉnh với dòng
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }69 trong tệp
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }65 của mình. Không dùng nữa cho Laravel 8 hoặc mới nhất
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,4
Để điều này hoạt động, bạn cũng phải xuất bản tệp Meta PhpStorm [xem bên dưới]
PhpStorm Meta cho các phiên bản Vùng chứa
Có thể tạo tệp meta PhpStorm để thêm hỗ trợ cho mẫu thiết kế nhà máy. Đối với Laravel, điều này có nghĩa là chúng ta có thể làm cho PhpStorm hiểu loại đối tượng nào chúng ta đang phân giải từ IoC Container. Ví dụ:
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }01 sẽ trả về một đối tượng
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }02, vì vậy với tệp meta, bạn có thể gọi
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }03 và nó sẽ tự động hoàn thành các phương thức của Bộ điều phối
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,5
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,6
Ghi chú. Bạn có thể cần phải khởi động lại PhpStorm và đảm bảo rằng
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }04 được lập chỉ mụcGhi chú. Khi bạn nhận được FatalException. không tìm thấy lớp, hãy kiểm tra cấu hình của bạn [ví dụ: xóa S3 làm trình điều khiển đám mây khi bạn chưa định cấu hình S3. Xóa Redis ServiceProvider khi bạn không sử dụng]
Bạn có thể thay đổi tên tệp được tạo thông qua cấu hình
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }05. Điều này có thể hữu ích cho các trường hợp bạn muốn tận dụng sự hỗ trợ của thư mục
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }06 của PhpStorm. tất cả các tệp được đặt ở đó đều được phân tích cú pháp, nếu bạn muốn cung cấp các tệp bổ sung cho PhpStorm
Sử dụng với Lumen
Gói này tập trung vào phát triển Laravel, nhưng nó cũng có thể được sử dụng trong Lumen với một số cách giải quyết. Bởi vì Lumen hoạt động hơi khác một chút, vì nó giống như một phiên bản cơ bản của Laravel và thay vào đó, các tham số cấu hình chính được đặt trong
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }07, nên cần phải thực hiện một số thay đổi
Kích hoạt mặt tiền
Mặc dù Trình trợ giúp IDE của Laravel có thể tự động tạo các Mặt tiền mặc định cho gợi ý mã, Lumen không đi kèm với các Mặt tiền được kích hoạt. Nếu bạn định sử dụng chúng, bạn phải kích hoạt chúng trong phần
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }08, bỏ ghi chú dòng này
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,7
Từ đó, bạn sẽ có thể sử dụng hàm
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }09 để thêm các Mặt tiền bổ sung vào ứng dụng của mình
Thêm nhà cung cấp dịch vụ
Bạn có thể cài đặt Laravel IDE Helper trong
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }10 và bỏ ghi chú dòng này đăng ký Nhà cung cấp dịch vụ ứng dụng, để nó có thể tải đúng cách
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,8
Nếu bạn không sử dụng dòng đó, dòng này thường rất hữu ích để quản lý nhiều bản cài đặt Laravel/Lumen một cách duyên dáng, bạn sẽ phải thêm dòng mã này vào phần
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }11 của
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }07 của mình
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,9
Sau đó, Laravel IDE Helper sẽ hoạt động bình thường. Trong quá trình tạo, tập lệnh có thể đưa ra các ngoại lệ nói rằng một số Lớp không tồn tại hoặc có một số chỉ mục không xác định. Điều này là bình thường vì Lumen đã loại bỏ một số gói mặc định, chẳng hạn như Cookies, Storage và Session. Nếu bạn định thêm các gói này, bạn sẽ phải thêm chúng theo cách thủ công và tạo các Mặt tiền bổ sung nếu cần
Thêm mặt tiền bổ sung
Hiện tại, Trình trợ giúp Lumen IDE không tính đến các Mặt tiền bổ sung được tạo trong
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }07 bằng cách sử dụng
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }09, vì vậy, bạn cần tạo tệp
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }4 và thêm lại bí danh tùy chỉnh của mình dưới mảng
"extra": { "laravel": { "dont-discover": [ "barryvdh/laravel-ide-helper" ] } }16, như vậy
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }0
Sau khi chạy
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }8, bạn nên [nhưng không bắt buộc] đổi tên
public function register[] { if [$this->app->isLocal[]] { $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class]; } // ... }4 thành tên khác, cho đến khi bạn phải tạo lại tài liệu hoặc sau khi chuyển sang môi trường sản xuất. Quang thông5. 1+ sẽ đọc tệp này để biết các tham số cấu hình nếu có và có thể chồng lấp một số cấu hình nếu nó được điền đầy đủ