Вход Регистрация
Файл: gapps/vendor/prettus/l5-repository/src/Prettus/Repository/Traits/PresentableTrait.php
Строк: 57
<?php

namespace PrettusRepositoryTraits;

use 
IlluminateSupportArr;
use 
PrettusRepositoryContractsPresenterInterface;

/**
 * Class PresentableTrait
 * @package PrettusRepositoryTraits
 */
trait PresentableTrait
{

    
/**
     * @var PresenterInterface
     */
    
protected $presenter null;

    
/**
     * @param PrettusRepositoryContractsPresenterInterface $presenter
     *
     * @return $this
     */
    
public function setPresenter(PresenterInterface $presenter)
    {
        
$this->presenter $presenter;

        return 
$this;
    }

    
/**
     * @param      $key
     * @param null $default
     *
     * @return mixed|null
     */
    
public function present($key$default null)
    {
        if (
$this->hasPresenter()) {
            
$data $this->presenter()['data'];

            return 
Arr::get($data$key$default);
        }

        return 
$default;
    }

    
/**
     * @return bool
     */
    
protected function hasPresenter()
    {
        return isset(
$this->presenter) && $this->presenter instanceof PresenterInterface;
    }

    
/**
     * @return $this|mixed
     */
    
public function presenter()
    {
        if (
$this->hasPresenter()) {
            return 
$this->presenter->present($this);
        }

        return 
$this;
    }
}
Онлайн: 1
Реклама