РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pplwSpPpPt 11 of 102 menu
◀ ▶

Защищённое свойство в Livewire

Пусть у поста есть код, который нельзя показывать в разметке и нельзя отдавать браузеру. Если положить его в публичное свойство, оно попадёт в ответ и станет доступно снаружи.

Защищённое свойство PHP остаётся на сервере: Livewire не отправляет его клиенту и не принимает обратно из запроса. В шаблон можно вывести другое публичное поле, куда метод запишет лишь итог, а не сам секрет.

Давайте создадим компонент PostCode:

php artisan make:livewire PostCode --class

Давайте добавим маршрут и страницу:

<?php Route::get('/posts/code', function () { return view('posts-code'); }); ?>
<x-layout> <livewire:post-code /> </x-layout>

Давайте заведём защищённое поле с кодом и публичную заметку для экрана:

<?php namespace App\Livewire; use Livewire\Component; class PostCode extends Component { protected $code = 'secret'; public $note = ''; public function reveal() { $this->note = 'Ready'; } public function render() { return view('livewire.post-code'); } } ?>

Давайте поставим кнопку и выведем заметку в шаблоне:

<div> <button wire:click="reveal"> Reveal </button> <div>{{ $note }}</div> </div>

Создайте компонент EmployeeCode. Секрет работника не попадает в разметку, а кнопка может показать только результат, который от него зависит.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить