sfneal/view-models
最新稳定版本:5.2.0
Composer 安装命令:
composer require sfneal/view-models
包简介
spatie/view-models wrapper with built in response caching.
关键字:
README 文档
README
spatie/view-models wrapper with built in response caching
Installation
You can install the package via composer:
composer require sfneal/view-models
Usage
A view model is a class where you can put some complex logic for your views. This will make your controllers a bit lighter. You can create a view model by extending the provided Sfneal\ViewModels\AbstractViewModel.
use Sfneal\ViewModels\ViewModel; class PostViewModel extends ViewModel { public $indexUrl = null; public function __construct(User $user, Post $post = null) { $this->user = $user; $this->post = $post; $this->indexUrl = action([PostsController::class, 'index']); $this->view = 'your.view'; } public function post(): Post { return $this->post ?? new Post(); } public function categories(): Collection { return Category::canBeUsedBy($this->user)->get(); } }
And used in controllers like so:
class PostsController { public function create() { // Uses caching for fast load times after first request return (new PostViewModel(current_user()))->render(); } public function edit(Post $post) { // Doesn't use caching to avoid need for cache invalidation on changes return (new PostViewModel(current_user(), $post))->renderNoCache(); } }
Testing
composer test
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email stephen.neal14@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
PHP Package Boilerplate
This package was generated using the PHP Package Boilerplate.
统计信息
- 总下载量: 90.93k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-08-19