Làm cách nào để sử dụng chức năng trợ giúp tùy chỉnh trong laravel?

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng chức năng trợ giúp tùy chỉnh trong Laravel. Hàm trợ giúp ...

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng chức năng trợ giúp tùy chỉnh trong Laravel. Hàm trợ giúp là một hàm tùy chỉnh mà bạn tạo để giúp cuộc sống của bạn dễ dàng hơn. Bạn có thể sử dụng hàm trợ giúp để thực hiện các tác vụ phổ biến trong ứng dụng của mình hoặc để thực hiện các tác vụ cụ thể dễ dàng hơn

Khi bạn tạo một hàm trợ giúp, bạn đặt cho nó một cái tên và chữ ký của hàm. Chữ ký hàm là một tập hợp các yêu cầu mà hàm của bạn phải đáp ứng. Tên này là tùy chọn, nhưng sẽ hữu ích khi bạn muốn nhớ chức năng đó làm gì

Để sử dụng hàm trợ giúp trong ứng dụng của bạn, trước tiên bạn cần đưa hàm trợ giúp vào không gian tên của ứng dụng. Để làm điều này, bạn có thể sử dụng chức năng bao gồm. Hàm bao gồm có hai đối số. tên của tệp bạn muốn đưa vào và đường dẫn đến tệp

Tiếp theo, bạn cần đưa chức năng vào mã ứng dụng của mình. Để làm điều này, bạn có thể sử dụng chức năng sử dụng. Hàm sử dụng có hai đối số. tên của hàm và đường dẫn đến hàm

Cuối cùng, bạn cần gọi hàm. Để làm điều này, bạn có thể sử dụng chức năng gọi. Hàm gọi có hai đối số. tên của hàm và các đối số mà hàm mong đợi

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng chức năng trợ giúp tùy chỉnh để tạo tài khoản người dùng mới trong ứng dụng Laravel của bạn. Chức năng trợ giúp tài khoản người dùng sẽ nhập tên người dùng và mật khẩu, đồng thời sẽ tạo tài khoản người dùng mới cho người dùng trong cơ sở dữ liệu

Để sử dụng chức năng trợ giúp tài khoản người dùng, trước tiên hãy đưa chức năng trợ giúp tài khoản người dùng vào không gian tên của ứng dụng của bạn. Để làm điều này, bạn có thể sử dụng chức năng bao gồm. Hàm bao gồm có hai đối số. tên của tệp bạn muốn đưa vào và đường dẫn đến tệp

Tiếp theo, bạn cần đưa chức năng trợ giúp tài khoản người dùng vào mã ứng dụng của mình. Để làm điều này, bạn có thể sử dụng chức năng sử dụng. Hàm sử dụng có hai đối số. tên của hàm và đường dẫn đến hàm

Cuối cùng, bạn cần gọi chức năng trợ giúp tài khoản người dùng. Để làm điều này, bạn có thể sử dụng chức năng gọi. Hàm gọi có hai đối số. tên của hàm và các đối số mà hàm mong đợi

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng chức năng trợ giúp tùy chỉnh để tạo tài khoản người dùng mới trong ứng dụng Laravel của bạn. Chức năng trợ giúp tài khoản người dùng sẽ nhập tên người dùng và mật khẩu

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. Bởi vì việc tạo dựa trên các tệp trong dự án của bạn nên nó luôn được cập nhật

Nó tương thích với Laravel 8 và PHP 7. 3+

Cài đặt

Sử dụng lệnh sau để yêu cầu gói này với nhà soạn nhạc

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 Laravels, có nghĩa là nó sẽ không được tải nếu các phần phụ thuộc của nhà phát triển không được cài đặt trong sản xuất

Nếu bạn cần kiểm soát điều này theo cách thủ công vì bất kỳ lý do gì,

  • Trong
    public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }
    2, thêm gói vào khóa
    public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }
    1, e. g

    "extra": {
      "laravel": {
        "dont-discover": [
          "barryvdh/laravel-ide-helper"
        ]
      }
    }

  • Trong
    public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }
    4, thêm lớp sau vào mảng
    public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }
    3

    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, bạn có thể sử dụng phương pháp
    public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }
    6 để thêm nó vào
    public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }
    5 của mình

    public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }

Ghi chú. Nên tránh lưu cấu hình vào bộ nhớ đệm trong môi trường phát triển của bạn vì 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 tổng quan/giải thích

  • 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ú. Sublime Text yêu cầu CodeComplice. https. //github. com/spectacles/CodeComplice

Tạo PHPDoc cho Laravel Facades được tự động hóa

Bây giờ bạn có thể tự tạo 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ú. Bởi vì

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
31 phải được xóa trước, 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, tệp này dự kiến ​​sẽ được IDE của bạn phân tích cú pháp thêm để tự động hoàn tất. Bạn có thể thay đổi tên của nó bằng cách sử dụng cấu hình
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
34

Bạn có thể đặt

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 phần phụ thuộc của bạn được cập nhật

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 cách triển khai (e. g. giao diện cho một lớp cụ thể) hoặc đặt giá trị mặc định của

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 đúng lớp, 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 yêu cầu kết nối cơ sở dữ liệu chức năng. Một số mặt tiền sẽ bị loại trừ nếu bạn không có kết nối làm việc mặc định. Bằng cách bao gồm tùy chọn

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
37, bạn có thể sử dụng trình điều khiển SQLite trong bộ nhớ

Bạn có tùy 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 có thể tắt 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 định cấu hình, nhưng bạn có thể thêm/xóa tệp khỏi tệp cấu hình

Quá trình tạo PHPDoc cho macro và mixin được tự động hóa

Gói này có thể tạo PHPDocs cho macro và mixin và thêm chúng vào tệp

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
33

Tuy nhiên, điều này chỉ hoạt động nếu gợi ý kiểu được sử dụng 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

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 của bảng, quan hệ và getters/setters nếu bạn không muốn viết các thuộc tính của riêng mình

Ghi chú. Để kiểm tra bảng của từng mô hình, lệnh này yêu cầu kết nối cơ sở dữ liệu đang hoạt động

Theo mặc định, bạn được nhắc ghi đè hoặc ghi vào một tệp riêng biệt (

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 bằ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 ghi nhận xét bằng tùy chọn
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
04

Ngoài ra, việc sử dụng

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, phần còn lại được viết bằng (
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
02). Tên lớp sẽ khác với tên mô hình, tránh sự phiền phức của các bản sao IDE

Vui lòng sao lưu các mô hình của bạn trước khi nhập thông tin

Khi chỉnh sửa các mô hình, hãy giữ nguyên 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. Nếu không tìm thấy PHPDoc hiện tại, nó sẽ được thay thế hoặc thêm vào. Các PHPDocs hiện có bị bỏ qua khi sử dụng tùy chọn

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
07 và chỉ các cột/quan hệ mới được phát hiện 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

Các mô hình trong

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
09 được quét theo mặc định. Đối số tùy chọn chỉ định mô hình nào sẽ sử dụng (cũng nằm 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 bằng cách chỉ định

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ể đặt tệp cấu hình (

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
21) ở chế độ công khai 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 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

Ngoài ra, có thể bỏ qua 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 bạn 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. g.
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
26 và tự động chuyển đổi thành e. g.
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
27

Nếu bạn không muốn chúng được tạo (một cho mỗi cột), bạn có thể tắt nó bằng cách chỉnh sửa cấu hình

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
28 và thay đổi nó 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ố lượng kết quả mối quan hệ mà không thực sự tải chúng. Những kết quả này sau đó được gán cho các thuộc tính theo quy ước

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
72

Các thuộc tính này được tạo theo mặc định trong phpdoc. Bạn có thể tắt chúng bằng cách thay đổi 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

Quan hệ và getters/setters cũng có thể thêm nhận xét vào thuộc tính như cột bảng để hỗ trợ IDE tốt hơn. Do đó, một khối tài liệu 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

Các mô hình Eloquent hiện có một phương thức mới gọi là Tham chiếu

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
77, cho phép chúng tôi thêm hỗ trợ để tạo một lớp chuyên dụng mới thay vì sử dụng các phạm vi cục bộ trong chính mô hình đó

Nếu bạn không muốn chúng được tạo (một cho mỗi cột), bạn có thể tắt chúng bằng cách chỉnh sửa cấu hình

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
78 và thay đổi giá trị 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. Các loại PHP (varchar, số nguyên) được ánh xạ chính xác (

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
50,
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
51)

Tuy nhiên, 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, chẳng hạn như

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
52,
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
53,
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
54,
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
55, v.v. có thể dẫn đến "Loại cơ sở dữ liệu không xác định" -Exception

Bạn có thể ánh xạ những trường hợp đặc biệt đó bằng cách sử dụng 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 phải chỉ định tên và lớp trả về trong cấu hình để đảm bảo tạo đúng

"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 quy ước đặt tên này, bạn có thể xác định kiểu trả về của chúng theo cách thủ công. Có hai lựa chọn.

"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ông tin bổ sung 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ể sử dụng móc mô hình để thêm thông tin bổ sung một cách nhanh chóng. Đơn giản 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 của 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 được gọi trong quá trình tạo mô hình và nhận dòng điện đang chạy
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
62 và
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
63, e. g

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
0

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
1

PHPDocs của các phương thức Fluent của Laravel được tạo tự động

Ví dụ: nếu bạn yêu cầu hỗ trợ PHPDocs cho các phương thức Fluent trong quá trình di chuyển,

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
2

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 sau khi xuất bản nhà cung cấp

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
3

Sau đó chạy

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
8;

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, hãy bật trình tạo nhà máy tùy chỉnh trong tệp
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
65 của bạn với dòng
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
69. Không dùng nữa trong Laravel 8 trở lên

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
4

Bạn cũng phải xuất bản tệp Meta PhpStorm (xem bên dưới) để tệp này hoạt động

PhpStorm Meta cho các phiên bản Vùng chứa

Có thể tạo tệp meta PhpStorm bao gồm hỗ trợ cho mẫu thiết kế xuất xưởng. Đối với Laravel, điều này có nghĩa là chúng ta có thể hướng dẫn PhpStorm về loại đối tượng mà 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 bạn có thể gọi
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
03 bằng tệp meta 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 để đả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. Kiểm tra cấu hình của bạn (ví dụ: xóa S3 dưới dạng trình điều khiển đám mây nếu bạn chưa định cấu hình S3). Xóa Redis ServiceProvider khi bạn không sử dụng nó. )

Tên tệp được tạo có thể được thay đổi bằng cách sử dụng cấu hình

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
05. Điều này hữu ích nếu bạn muốn tận dụng sự hỗ trợ của PhpStorm cho thư mục
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
06. Nếu bạn muốn cung cấp các tệp bổ sung cho PhpStorm, tất cả các tệp được đặt ở đó sẽ được phân tích cú pháp

Sử dụng với Lumen

Gói này chủ yếu dành cho phát triển Laravel, nhưng nó cũng có thể được sử dụng trong Lumen với một số sửa đổi. Bởi vì Lumen hoạt động khác với Laravel và thay vào đó, các thông số cấu hình chính nằm ở

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
07, nên cần phải có một số sửa đổi

Kích hoạt mặt tiền

Mặc dù Trình trợ giúp IDE của Laravel có thể tạo Mặt tiền mặc định cho gợi ý mã, Lumen không đi kèm với Mặt tiền được bật. Nếu bạn định sử dụng chúng, bạn phải kích hoạt chúng bằng cách bỏ ghi chú dòng này trong phần

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
08

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
7

Sau đó, bạn có thể sử dụng chức năng

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
09 để thêm nhiều Mặt tiền hơn vào ứng dụng của mình

Thêm nhà cung cấp dịch vụ

Cài đặt Laravel IDE Helper trong

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
10 và bỏ ghi chú dòng đăng ký Nhà cung cấp dịch vụ ứng dụng sẽ cho phép nó 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 hữu ích để quản lý nhiều cài đặt Laravel/Lumen một cách dễ dàng, bạn sẽ cần thêm dòng mã này vào phần

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
11 của tệp
"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ệ cho biết rằng một số Lớp không tồn tại hoặc một số chỉ mục không được xác định. Điều này là bình thường vì Lumen đã xóa một số gói mặc định, chẳng hạn như Cookie, Lưu trữ và Phiên. Nếu bạn muốn thêm các gói này, bạn phải thực hiện thủ công và có thể cần tạo thêm Mặt tiền

Thêm mặt tiền bổ sung

Lumen IDE Helper hiện không tính đến các Mặt tiền bổ sung được tạo theo

"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 phải tạo tệp
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
4 và thêm lại các bí danh tùy chỉnh của mình dưới mảng
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
16, như minh họa bên dưới

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
0

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 sau khi chạy
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
8, cho đến khi bạn cần 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. Nếu có tệp này, 1 sẽ đọc nó để biết các tham số cấu hình và có thể trùng lặp một số cấu hình nếu nó được điền đầy đủ

Làm cách nào để sử dụng chức năng trợ giúp của Laravel?

Theo dõi tôi bằng cách nhấp vào hồ sơ của tôi để nhận thêm thông tin cập nhật. .
Bước 1. tạo một tập tin trợ giúp. Tạo một tệp có tên helpers trong thư mục app/. php
Bước 2. Viết hàm trợ giúp
Bước 3. Bao gồm nó trong nhà soạn nhạc của chúng tôi. json. .
Bước 4. Làm mới danh sách tất cả các lớp của ứng dụng. nhà soạn nhạc dump-autoload

Trong Laravel Blade, làm thế nào để bạn gọi một hàm trợ giúp tùy chỉnh?

Chức năng trợ giúp tùy chỉnh của Laravel với ví dụ thực tế .
Tạo một dự án Laravel. Tôi cho rằng bạn đã cài đặt Laravel bằng trình soạn nhạc. .
Để tạo chức năng trợ giúp tùy chỉnh, hãy tạo Tệp trợ giúp. .
Tạo một nhà cung cấp. .
Thêm nhà cung cấp vào cấu hình. .
Cuộc gọi từ bộ điều khiển. .
Gọi từ Chế độ xem (Blade)

Làm thế nào để bạn viết một hàm trợ giúp trong Laravel 9?

Cách tạo chức năng trợ giúp tùy chỉnh của Laravel 9 .
Bước 1. Tạo người trợ giúp. tệp php. Trong bước này, chúng tôi sẽ tạo ứng dụng/trợ lý. .
Bước 2. Trong trình soạn thảo, thêm Đường dẫn tệp trợ giúp. tệp json. Trong trình soạn thảo, dán mã bên dưới
Bước 3. Chạy lệnh. Chạy lệnh composer dump-autoload trong thiết bị đầu cuối của bạn ngay bây giờ

John Conner
John Conner
John Conner has written about blogger for more than 5 years and for congnghe123 since 2017

Member discussion

       

Related Posts