PhpStorm tạo PHPDoc cho tất cả các chức năng

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 2020

Gó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 trong
    public 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 trong
    public function register[]
    {
        if [$this->app->isLocal[]] {
            $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class];
        }
        // ...
    }
    4

    Barryvdh\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ào
    public function register[]
    {
        if [$this->app->isLocal[]] {
            $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class];
        }
        // ...
    }
    5 của mình bằng phương thức
    public function register[]
    {
        if [$this->app->isLocal[]] {
            $this->app->register[\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class];
        }
        // ...
    }
    6

    public 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ục

Ghi 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 đủ

Làm cách nào để thêm PHPDoc vào PhpStorm?

Nhấn Alt+Insert , sau đó chọn Tạo khối PHPDoc và chọn cấu trúc mã để tạo nhận xét PHPDoc cho .

Nhận xét PHPDoc là gì?

Nhận xét Tài liệu PHP [PHPDoc] PHPDoc là một cách tiêu chuẩn để tạo tài liệu và chú thích mã PHP . Đây là một định dạng nổi tiếng của các chú thích khối có tiền tố là /** ký tự và nó được sử dụng để chú thích các hàm, lớp, thuộc tính và cả các biến cục bộ.

Chủ Đề