Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
CRAP | |
0.00% |
0 / 17 |
| CachedModel | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
12 | |
0.00% |
0 / 17 |
| __construct( $modelName, Cache $cache ) | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 12 |
|||
| setModel($model) | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 5 |
|||
| <?php | |
| /** | |
| * This file is part of the Statistical Classifier package. | |
| * | |
| * (c) Cam Spiers <camspiers@gmail.com> | |
| * | |
| * For the full copyright and license information, please view the LICENSE | |
| * file that was distributed with this source code. | |
| */ | |
| namespace Camspiers\StatisticalClassifier\Model; | |
| use CacheCache\Cache; | |
| /** | |
| * @author Cam Spiers <camspiers@gmail.com> | |
| * @package Statistical Classifier | |
| */ | |
| class CachedModel extends Model | |
| { | |
| /** | |
| * The name of the model | |
| * @var string | |
| */ | |
| private $modelName; | |
| /** | |
| * An instance of Cache | |
| * @var Cache | |
| */ | |
| private $cache; | |
| /** | |
| * Create the CachedModel using the modelname, cache and datasource | |
| * @param string $modelName The name of the model | |
| * @param Cache $cache The cache to use | |
| */ | |
| public function __construct( | |
| $modelName, | |
| Cache $cache | |
| ) { | |
| $this->modelName = $modelName; | |
| $this->cache = $cache; | |
| $data = $this->cache->get($this->modelName); | |
| if ($data !== null) { | |
| $this->prepared = true; | |
| $this->model = $data; | |
| } | |
| } | |
| /** | |
| * @param array $model | |
| * @return mixed|void | |
| */ | |
| public function setModel($model) | |
| { | |
| $this->model = $model; | |
| $this->cache->set($this->modelName, $model); | |
| } | |
| } |