PHPackages                             russsiq/laravel-widget - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. russsiq/laravel-widget

AbandonedArchivedLibrary

russsiq/laravel-widget
======================

Дополнительный функционал для компонентов Laravel 8.x.

03PHP

Since Apr 21Pushed 5y ago1 watchersCompare

[ Source](https://github.com/russsiq/laravel-widget)[ Packagist](https://packagist.org/packages/russsiq/laravel-widget)[ RSS](/packages/russsiq-laravel-widget/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Дополнительный функционал для компонентов Laravel 8.x
-----------------------------------------------------

[](#дополнительный-функционал-для-компонентов-laravel-8x)

- [Введение](#introduction)
- [Установка](#installation)
- [Конфигурирование](#configuration)
- [Написание виджета](#writing-widget)
    - [Генерация класса виджета и его шаблона](#generating-widget)
    - [Структура класса виджета](#widget-structure)
    - [Отрисовка виджета](#rendering-widget)
- [Удаление пакета](#removing-package)
- [Лицензия](#license)

### Введение

[](#введение)

Виджеты – обертка для стандартных компонентов Laravel, но с расширенным функционалом: валидация входящих параметров.

> Виджеты поддерживают компоненты только на основе классов и при наличии обязательного отдельного шаблона представления или нескольких шаблонов.

### Установка

[](#установка)

Для добавления зависимости в новый проект на Laravel, добавьте в файле `composer.json`

```
"require": {
    // ...
    "russsiq/laravel-widget": "dev-master"
}
```

Для подключения в уже созданный проект, используйте менеджер пакетов Composer:

```
composer require russsiq/laravel-widget
```

Если в вашем приложении включен отказ от обнаружения пакетов в директиве `dont-discover` в разделе `extra` файла `composer.json`, то необходимо самостоятельно добавить в файле `config/app.php` поставщик службы в раздел `providers`:

```
'providers' => [
    /*
     * Package Service Providers...
     */
    Russsiq\Widget\WidgetServiceProvider::class,
],
```

### Конфигурирование

[](#конфигурирование)

Перед использованием пакета вам необходимо сверить соответствие параметра `classes-namespace` конфигурационного файла с желаемым пространством имен классов ваших будущих виджетов. Для этого необходимо опубликовать конфигурационный файл в ваше приложение:

```
php artisan vendor:publish --provider="Russsiq\Widget\WidgetServiceProvider" --tag=config

```

По умолчанию этот параметр имеет значение `App\View\Components\Widgets`.

По желании вы можете опубликовать шаблон, отображающий ошибки валидации входящих параметров виджета:

```
php artisan vendor:publish --provider="Russsiq\Widget\WidgetServiceProvider" --tag=views

```

### Написание виджета

[](#написание-виджета)

#### Генерация класса виджета и его шаблона

[](#генерация-класса-виджета-и-его-шаблона)

Чтобы создать виджет, вы можете использовать команду `make:laravel-widget` Artisan. Чтобы проиллюстрировать, как использовать виджеты, мы создадим простой виджет `ArticlesFeatured`:

```
php artisan make:laravel-widget ArticlesFeatured

```

Выполненная команда `make:laravel-widget` поместит по умолчанию класс виджета в каталог `App\View\Components\Widgets`, а его шаблон `articles-featured.blade.php` в `resources\views\components\widgets`.

#### Структура класса виджета

[](#структура-класса-виджета)

Сгенерированный класс виджета будет иметь следующую структуру:

```
