Как использовать пользовательскую вспомогательную функцию в laravel?

В этом уроке мы покажем вам, как использовать пользовательскую вспомогательную ...

В этом уроке мы покажем вам, как использовать пользовательскую вспомогательную функцию в Laravel. Вспомогательная функция — это пользовательская функция, которую вы создаете, чтобы облегчить себе жизнь. Вы можете использовать вспомогательную функцию для выполнения общих задач в вашем приложении или для облегчения выполнения конкретных задач.

Когда вы создаете вспомогательную функцию, вы даете ей имя и сигнатуру функции. Сигнатура функции — это набор требований, которым должна соответствовать ваша функция. Имя необязательно, но полезно, если вы хотите запомнить, что делает функция.

Чтобы использовать вспомогательную функцию в своем приложении, сначала необходимо включить вспомогательную функцию в пространство имен вашего приложения. Для этого вы можете использовать функцию включения. Функция включения принимает два аргумента. имя файла, который вы хотите включить, и путь к файлу

Затем вам нужно включить функцию в код вашего приложения. Для этого можно использовать функцию использования. Функция использования принимает два аргумента. имя функции и путь к функции

Наконец, вам нужно вызвать функцию. Для этого можно использовать функцию вызова. Функция вызова принимает два аргумента. имя функции и аргументы, которые функция ожидает

В этом руководстве мы покажем вам, как использовать пользовательскую вспомогательную функцию для создания новой учетной записи пользователя в вашем приложении Laravel. Вспомогательная функция учетной записи пользователя примет ввод имени пользователя и пароля и создаст новую учетную запись пользователя для пользователя в базе данных.

Чтобы использовать вспомогательную функцию учетной записи пользователя, сначала включите вспомогательную функцию учетной записи пользователя в пространство имен вашего приложения. Для этого вы можете использовать функцию включения. Функция включения принимает два аргумента. имя файла, который вы хотите включить, и путь к файлу

Затем вам нужно включить вспомогательную функцию учетной записи пользователя в код вашего приложения. Для этого можно использовать функцию использования. Функция использования принимает два аргумента. имя функции и путь к функции

Наконец, вам нужно вызвать вспомогательную функцию учетной записи пользователя. Для этого можно использовать функцию вызова. Функция вызова принимает два аргумента. имя функции и аргументы, которые функция ожидает

В этом руководстве мы покажем вам, как использовать пользовательскую вспомогательную функцию для создания новой учетной записи пользователя в вашем приложении Laravel. Вспомогательная функция учетной записи пользователя примет ввод имени пользователя и пароля.

Этот пакет создает вспомогательные файлы, которые позволяют вашей среде IDE обеспечивать точное автозаполнение. Поскольку генерация основана на файлах вашего проекта, она всегда актуальна.

Он совместим с Laravel 8 и PHP 7. 3+

Установка

Используйте следующую команду, чтобы запросить этот пакет с композитором

composer require --dev barryvdh/laravel-ide-helper

Этот пакет использует механизм автоматического обнаружения пакетов Laravel, что означает, что он не будет загружен, если зависимости dev не установлены в рабочей среде.

Если вам по какой-либо причине необходимо управлять этим вручную,

  • В
    public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }
    2 добавьте пакет к ключу
    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"
        ]
      }
    }

  • В
    public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }
    4 добавьте следующий класс в массив
    public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }
    3

    Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,

    Если вы хотите загружать его вручную только в непроизводственной среде, вы можете использовать метод
    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);
        }
        // ...
    }
    5.

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

Запись. Следует избегать кэширования конфигурации в вашей среде разработки, поскольку это может вызвать проблемы после установки этого пакета;

Применение

Посмотрите это видео Laracasts для обзора/объяснения

  • 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 -

Запись. Sublime Text требует CodeComplice. https. //гитхаб. com/очки/CodeComplice

Генерация PHPDoc для Laravel Facades автоматизирована

Теперь вы можете создавать документацию самостоятельно (для будущих обновлений)

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

Запись. Поскольку сначала необходимо очистить

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
31, запустите
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
32 перед созданием

Это создаст файл

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
33, который, как ожидается, будет дополнительно проанализирован вашей IDE для автозаполнения. Вы можете изменить его имя с помощью конфига
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
34

Вы можете настроить свой

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
2, чтобы он делал это каждый раз, когда ваши зависимости обновляются.

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

Вы также можете опубликовать файл конфигурации, чтобы изменить реализации (например,. g. интерфейс к определенному классу) или установить

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

Генератор пытается определить истинный класс, но если он не найден, вы можете определить его в файле конфигурации.

Для некоторых классов требуется функциональное подключение к базе данных. Некоторые фасады будут исключены, если у вас нет рабочего соединения по умолчанию. Включив параметр

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
37, вы можете использовать драйвер SQLite в памяти.

У вас есть возможность включить вспомогательные файлы. Это не включено по умолчанию, но его можно отключить с помощью опции

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 уже настроен, но вы можете добавлять/удалять файлы из файла конфигурации

Генерация PHPDoc для макросов и миксинов автоматизирована

Этот пакет может генерировать PHPDocs для макросов и миксинов и добавлять их в файл

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

Однако это работает только в том случае, если при объявлении макроса используется подсказка типа.

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

Автоматические PHPDocs для моделей

Вы можете использовать команду

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
9 для создания PHPDocs на основе столбцов таблицы, отношений и геттеров/сеттеров, если вы не хотите писать свои собственные свойства

Запись. Для проверки таблицы каждой модели этой команде требуется работающее соединение с базой данных.

Вам будет предложено перезаписать или записать в отдельный файл по умолчанию (

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
02). Вы можете либо записать комментарии непосредственно в файл модели с помощью параметра
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
03, либо запретить их запись с помощью параметра
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
04.

В качестве альтернативы, использование

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
05 добавит только тег миксина в ваш файл модели, а все остальное будет записано в (
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
02). Имя класса будет отличаться от имени модели, что позволит избежать раздражающих дубликатов IDE.

Пожалуйста, сделайте резервную копию ваших моделей, прежде чем вводить информацию

При редактировании моделей сохраняйте существующие комментарии и добавляйте только новые свойства/методы. Если существующий PHPDoc не может быть найден, он заменяется или добавляется. Существующие PHPDocs игнорируются при использовании параметра

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
07, и только вновь обнаруженные столбцы/отношения сохраняются как PHPDocs.

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

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

С опцией

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

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

Каталоги моделей

Модели в

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
09 сканируются по умолчанию. Необязательный аргумент указывает, какие модели использовать (также вне приложения/моделей).

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

Вы также можете сканировать другой каталог, указав

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
20 (относительно базового пути)

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

Вы можете сделать файл конфигурации (

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
21) общедоступным и установить каталоги по умолчанию

Игнорировать модели

Модели можно игнорировать, выбрав

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

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

В качестве альтернативы, конфигурацию

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
23 можно игнорировать.

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

Магия
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
24 метода

Eloquent позволяет звонить по номеру

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
25 на ваших моделях, т.е. g. g.
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
26 и автоматически преобразует его в e. g.
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
27

Если вы не хотите, чтобы они генерировались (по одному для каждого столбца), вы можете отключить его, отредактировав конфиг

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
28 и изменив его на
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
29

Магия
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
70 свойств

Вы можете использовать этот метод для подсчета количества результатов отношений, фактически не загружая их. Затем эти результаты присваиваются атрибутам в соответствии с соглашением

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

Эти атрибуты генерируются по умолчанию в phpdoc. Вы можете отключить их, изменив конфигурацию

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

Поддержка
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
75 на основе DocBlock

Отношения и геттеры/сеттеры также могут добавлять комментарий к свойству, такому как столбцы таблицы, для лучшей поддержки IDE. В результате используется пользовательский блок документов

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

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

Выделенные методы Eloquent Builder

Модели Eloquent теперь имеют новый метод под названием

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
77 Reference, который позволяет нам добавить поддержку создания нового выделенного класса вместо использования локальных областей в самой модели.

Если вы не хотите, чтобы они генерировались (по одному для каждого столбца), вы можете отключить их, отредактировав конфиг

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
78 и изменив значение на
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
29

Неподдерживаемые или настраиваемые типы баз данных

Общие типы столбцов (e. g. Типы PHP (varchar, integer) правильно отображаются (

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

Однако вы можете захотеть использовать в своей базе данных пользовательские типы столбцов, такие как

"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 и т. д. что может привести к исключению "Неизвестный тип базы данных"

Вы можете сопоставить эти особые случаи, используя конфигурацию

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
56. Пример

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

Пользовательские типы отношений

Если вы используете отношения, которые не встроены в Laravel, вы должны указать имя и возвращаемый класс в конфигурации, чтобы обеспечить правильную генерацию.

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

Найденные отношения обычно генерируют возвращаемое значение на основе имени отношения.

Если ваши пользовательские отношения не соответствуют этому соглашению об именах, вы можете определить их возвращаемый тип вручную. Есть два варианта.

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

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

Крючки для моделей

Если вам требуется дополнительная информация о вашей модели из источников, которые не обрабатываются по умолчанию, вы можете использовать обработчики модели, чтобы добавлять дополнительную информацию на лету. Просто создайте класс, реализующий

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
59, и добавьте его в массив конфигурации
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
60.

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

Метод

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
61 вызывается во время генерации модели и получает текущие рабочие
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
62 и
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
63, e. g

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
0

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
1

PHPDocs методов Laravel Fluent генерируются автоматически

Если, например, вам требуется поддержка PHPDocs для методов Fluent при миграции,

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
2

Просто измените строку

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
64 в файле
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
65 на после публикации поставщика.

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
3

Затем запустите

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

Автодополнение для заводских строителей

Если вы хотите, чтобы методы

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
67 и
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
68 возвращали правильный класс модели, включите пользовательские сборщики фабрик в файле
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
65 с помощью строки
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
69. Устарело в Laravel 8 и более поздних версиях

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
4

Вы также должны опубликовать метафайл PhpStorm (см. ниже), чтобы это работало.

PhpStorm Meta для экземпляров контейнера

Можно создать метафайл PhpStorm, включающий поддержку шаблона проектирования factory. Для Laravel это означает, что мы можем указать PhpStorm тип объекта, который мы разрешаем из контейнера IoC. Например,

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
01 вернет объект
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
02, поэтому вы можете вызвать
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
03 с метафайлом, и он автоматически дополнит методы Dispatcher.

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
5

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
6

Запись. Возможно, вам придется перезапустить PhpStorm, чтобы убедиться, что

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
04 проиндексирован

Запись. Когда вы получаете FatalException. Проверьте свою конфигурацию (например, удалите S3 в качестве облачного драйвера, если у вас не настроен S3). Удалите Redis ServiceProvider, когда вы его не используете. )

Сгенерированное имя файла можно изменить с помощью конфига

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
05. Это полезно, если вы хотите воспользоваться поддержкой PhpStorm для каталога
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
06. Если вы хотите предоставить PhpStorm дополнительные файлы, все файлы, размещенные там, анализируются.

Использование с Люменом

Этот пакет в первую очередь предназначен для разработки Laravel, но с некоторыми модификациями его можно использовать и в Lumen. Поскольку Lumen работает иначе, чем Laravel, а основные параметры конфигурации вместо этого находятся в

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
07, требуются некоторые изменения.

Включение фасадов

В то время как помощник Laravel IDE может генерировать фасады по умолчанию для подсказки кода, Lumen не поставляется с включенными фасадами. Если вы собираетесь их использовать, вы должны включить их, раскомментировав эту строку в разделе

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

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
7

Затем вы сможете использовать функцию

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
09, чтобы добавить больше фасадов в ваше приложение.

Добавление поставщика услуг

Установка Laravel IDE Helper в

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
10 и раскомментирование строки, в которой регистрируются поставщики услуг приложений, позволит загрузить его правильно.

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
8

Если вы не используете эту строку, которая обычно полезна для изящного управления несколькими установками Laravel/Lumen, вам нужно будет добавить эту строку кода в раздел

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
11 вашего файла
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
07.

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
9

После этого помощник Laravel IDE должен работать правильно. В процессе генерации скрипт может генерировать исключения, указывающие на то, что некоторые классы не существуют или что некоторые индексы не определены. Это нормально, поскольку в Lumen удалены некоторые пакеты по умолчанию, такие как файлы cookie, хранилище и сеанс. Если вы хотите добавить эти пакеты, вы должны сделать это вручную и, возможно, потребуется создать дополнительные фасады.

Добавление дополнительных фасадов

Lumen IDE Helper в настоящее время не принимает во внимание дополнительные фасады, созданные в

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
07 с использованием
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
09, поэтому вам необходимо создать файл
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
4 и снова добавить свои пользовательские псевдонимы в массив
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
16, как показано ниже.

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

Рекомендуется (но не обязательно) переименовывать

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
4 во что-то другое после запуска
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
8, до тех пор, пока вам не понадобится перегенерировать документы или после перехода в производственную среду. Люмен5. Если этот файл присутствует, 1 будет читать его для параметров конфигурации и может перекрывать некоторые конфигурации, если он полностью заполнен.

Как использовать вспомогательную функцию Laravel?

Подпишитесь на меня, нажав на мой профиль, чтобы получать больше обновлений. .
Шаг 1. создать вспомогательный файл. Создайте файл с именем helpers в каталоге app/. php
Шаг 2. Напишите вспомогательную функцию
Шаг 3. Включите его в наш композитор. json. .
Шаг 4. Обновить список всех классов приложения. композитор дамп-автозагрузка

Как в Laravel Blade вызвать пользовательскую вспомогательную функцию?

Пользовательская вспомогательная функция Laravel с реальным примером .
Создайте проект Laravel. Я предполагаю, что вы уже установили Laravel с помощью композитора. .
Чтобы создать пользовательскую вспомогательную функцию, создайте вспомогательный файл. .
Создать провайдера. .
Добавить провайдера в конфигурацию. .
Звонок от диспетчера. .
Вызов из View(Blade)

Как написать вспомогательную функцию в Laravel 9?

Как создать пользовательскую вспомогательную функцию Laravel 9 .
Шаг 1. Создание помощников. PHP-файл. На этом этапе мы создадим приложение/помощники. .
Шаг 2. В композиторе добавьте путь к вспомогательному файлу. JSON-файл. В композиторе вставьте код ниже
Шаг 3. Команда запуска. Запустите команду composer dump-autoload в своем терминале сейчас

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

Member discussion

       

Related Posts