Файл: gapps/vendor/cartalyst/support/src/Traits/RepositoryTrait.php
Строк: 40
<?php
/**
* Part of the Support package.
*
* NOTICE OF LICENSE
*
* Licensed under the 3-clause BSD License.
*
* This source file is subject to the 3-clause BSD License that is
* bundled with this package in the LICENSE file.
*
* @package Support
* @version 2.0.1
* @author Cartalyst LLC
* @license BSD License (3-clause)
* @copyright (c) 2011-2017, Cartalyst LLC
* @link http://cartalyst.com
*/
namespace CartalystSupportTraits;
trait RepositoryTrait
{
/**
* Create a new instance of the model.
*
* @param array $data
* @return mixed
*/
public function createModel(array $data = [])
{
$class = '\'.ltrim($this->model, '\');
return new $class($data);
}
/**
* Returns the model.
*
* @return string
*/
public function getModel()
{
return $this->model;
}
/**
* Runtime override of the model.
*
* @param string $model
* @return $this
*/
public function setModel($model)
{
$this->model = $model;
return $this;
}
/**
* Dynamically pass missing methods to the model.
*
* @param string $method
* @param array $parameters
* @return mixed
*/
public function __call($method, $parameters)
{
$model = $this->createModel();
return call_user_func_array([$model, $method], $parameters);
}
}