faustbrian/eloquent-presenter
Model Presenters for Laravel
3.2.0
2018-11-10 06:41 UTC
Requires
- php: ^7.1
- illuminate/database: 5.5.* || 5.6.* || 5.7.*
- nesbot/carbon: ^1.22
Requires (Dev)
- graham-campbell/testbench: ^5.0
- mockery/mockery: ^1.0
- phpunit/phpunit: ^6.5
README
Installation
Require this package, with Composer, in the root directory of your project.
$ composer require faustbrian/eloquent-presenter
Usage
Presenter
use BrianFaust\Presenter\BasePresenter; class CommentPresenter extends BasePresenter { public function getRoutePrefix() { return 'users.posts.comments'; } public function getRouteParameters() { // The ID of the model will be automatically attached to this array at the end // [ // $model->post->user->id, // $model->post->id, // $model->id // "id" is what is specified in $this->getRouteKeyName() // ]; return ['post.user.id', 'post.id']; } }
Model
use BrianFaust\Presenter\HasViewPresenterTrait; use Illuminate\Database\Eloquent\Model; class Comment extends Model { use HasViewPresenterTrait; /** * Get the view presenter for the model. * * @return string */ protected function getPresenter() { return UserPresenter::class; } }
Testing
$ phpunit
Security
If you discover a security vulnerability within this package, please send an e-mail to hello@brianfaust.me. All security vulnerabilities will be promptly addressed.