Зачем использовать Livewire вместо Vue.js в Laravel Jetstream? Плюсы и особенности
Как подключить и настроить компоненты Jetstream в Livewire-приложении

Управление состоянием модальных окон в Jetstream через wire:model и Livewire

Старт! Честный VDS/VPS, на котором «Лунная База» живет уже 20+ лет

Задумываетесь о том, чтобы поднять свой pet-проект, сайт клиента или настроить окружение для разработки? Уже пора подумать, где арендовать железо.

Лунная База хостится на FirstVDS более 20 лет. Мыслей о том, чтобы перебраться на другой хостинг, не было ни разу (хотя опыт работы с другими вариантами, конечно, есть).

Бывали разные ситуации, но они бывают на любом железе. Главное, что нужно понять: здесь нет маркетинговой шелухи и сказок про «мы всё сделаем за вас». Если вы берете VDS — вам дают полный root, возможность накатить любую ОС и не лезут в ваши конфиги.

Если в саппорт написать с вопросом по вашему коду и получить ответ: «Читайте документацию и разбирайтесь сами» или «Обратитесь к профильному специалисту» — это не повод обижаться. Это повод углубить свои знания в DevOps и сайтостроении! Бегите от тех, кто пообещает: «Мы всё чиним и настраиваем абсолютно бесплатно!». Никто никогда не работает «по доброте душевной» в ущерб себе, а бесплатный сыр в администрировании обычно заканчивается сломанной базой данных.

Что по факту: Гибкое масштабирование ядер и RAM, экономия по сравнению с физическими серверами и адекватная панель ispmanager, если она вам нужна.



Введение

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

При использовании Livewire маршруты вашего приложения будут отвечать типичными шаблонами Blade. Однако в этих шаблонах вы можете отображать компоненты Livewire по мере необходимости:

<div class="mt-4">
    @livewire('server-list')
</div>

При использовании стека Livewire Jetstream имеет некоторые уникальные особенности, о которых вам следует знать. Мы обсудим каждую из этих функций ниже.

Документация Laravel Livewire
Перед использованием стека Livewire настоятельно рекомендуется просмотреть всю документацию Livewire.

Компоненты

При создании стека Jetstream Livewire были созданы различные компоненты Blade (кнопки, панели, входы, модули), чтобы помочь в обеспечении согласованности и простоты использования пользовательского интерфейса. Вы можете использовать или не использовать эти компоненты. Однако, если вы хотите их использовать, вам следует активировать их с помощью команды Artisan vendor:publish:

php artisan vendor:publish --tag=jetstream-views

Вы можете получить представление о том, как использовать эти компоненты, просмотрев их использование в существующих представлениях Jetstream, расположенных в вашем каталоге resources/views.

Модули

Большинство компонентов стека Jetstream Livewire не имеют связи с вашим сервером. Однако модальные компоненты Livewire, входящие в состав Jetstream, действительно взаимодействуют с серверной частью Livewire для определения своего открытого/закрытого состояния. Кроме того, Jetstream включает два типа модулей: dialog-modal и confirmation-modal. confirmation-modal может использоваться при подтверждении деструктивных действий, таких как удаления, в то время как dialog-modal является более общим модулем, который можно использовать в любое время.

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

<x-jet-confirmation-modal wire:model="confirmingUserDeletion">
    <x-slot name="title">
        Удалить аккаунт
    </x-slot>

    <x-slot name="content">
        Вы уверены, что хотите удалить свою учетную запись? После удаления вашей учетной записи все ее ресурсы и данные будут удалены без возможности восстановления.
    </x-slot>

    <x-slot name="footer">
        <x-jet-secondary-button wire:click="$toggle('confirmingUserDeletion')" wire:loading.attr="disabled">
            Отменить
        </x-jet-secondary-button>

        <x-jet-danger-button class="ml-2" wire:click="deleteUser" wire:loading.attr="disabled">
            Удалить аккаунт
        </x-jet-danger-button>
    </x-slot>
</x-jet-confirmation-modal>

Как видите, состояние открытия/закрытия модуля определяется свойством wire:model, которое объявлено в компоненте. Это имя свойства должно соответствовать логическому свойству в соответствующем классе PHP вашего компонента Livewire. Содержимое модального окна может быть определено путем использования трех слотов: title, content и footer.

Перевод:
https://jetstream.laravel.com/1.x/stacks/livewire.html

Самый честный хостинг за 20+ лет существования Лунной Базы

Задумываешься о том, чтобы поднять свой сайт в Интернете? Уже пора подумать о том, какой хостинг выбрать?

Лунная База хостится 20+ лет на firstDVS. При этом, мыслей о том, чтобы перебраться на другой хостинг не было. (Но, при этом есть опыт работы с другими вариантами.)

Бывали с firstDVS разные ситуации, но, они бывают на всех хостингах. Единственное, что тут важно понять, - это то, что никто ничего тебе не будет впаривать... Но, и работать за тебя тоже никто не станет. Если в саппорт ответили: «Читайте по ссылке и разбирайтесь сами...» или вообще «Обратитесь за помощью к специалисту», - это повод углубить свои знания в области сайтостроения, а не бежать к тем, что пообещают: «Мы всё чиним и всё делаем за своих клиентов абсолютно бесплатно!» Никто никогда ничего ни за кого "по доброте душевной" не делал, не делает и не будет делать!

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню