“Laravel View-Model” Ответ

Laravel View-Model

composer require spatie/laravel-view-models
Handsome Hippopotamus

Laravel View-Model

<input type="text" value="{{ $post->title }}" />
<input type="text" value="{{ $post->body }}" />

<select>
    @foreach ($categories as $category)
        <option value="{{ $category->id }}">{{ $category->name }}</option>
    @endforeach
</select>

<a href="{{ $indexUrl }}">Back</a>
Handsome Hippopotamus

Laravel View-Model

class PostViewModel extends ViewModel
{
    protected $ignore = ['ignoredMethod'];

    // …
    
    public function ignoredMethod() { /* … */ }
}
Handsome Hippopotamus

Laravel View-Model

class PostsController
{
    public function update(Request $request, Post $post)
    {
        // …
        
        return (new PostViewModel($post))->view('post.form');
    }
}
Handsome Hippopotamus

Laravel View-Model

{{ $formatDate($post->created_at) }}
Handsome Hippopotamus

Laravel View-Model

php artisan make:view-model "Blog/PostsViewModel"
Handsome Hippopotamus

Laravel View-Model

class PostsController
{
    public function update(Request $request, Post $post)
    {
        // …
        
        return new PostViewModel($post);
    }
}
Handsome Hippopotamus

Laravel View-Model

class PostViewModel extends ViewModel
{
    public function formatDate(Carbon $date): string
    {
        return $date->format('Y-m-d');
    }
}
Handsome Hippopotamus

Laravel View-Model

php artisan make:view-model HomepageViewModel
Handsome Hippopotamus

Ответы похожие на “Laravel View-Model”

Вопросы похожие на “Laravel View-Model”

Больше похожих ответов на “Laravel View-Model” по PHP

Смотреть популярные ответы по языку

Смотреть другие языки программирования