Imported code from old repository
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
namespace CloudObjects\PhpMAE\DI;
|
||||
|
||||
use Psr\Http\Message\RequestInterface;
|
||||
use CloudObjects\SDK\ObjectRetriever;
|
||||
use CloudObjects\PhpMAE\Engine, CloudObjects\PhpMAE\ClassRepository;
|
||||
|
||||
/**
|
||||
* The DynamicLoader allows accessing other classes that are not
|
||||
* statically defined as dependencies.
|
||||
*/
|
||||
class DynamicLoader {
|
||||
|
||||
private $retriever;
|
||||
private $repository;
|
||||
|
||||
public function __construct(ObjectRetriever $retriever, ClassRepository $repository) {
|
||||
$this->retriever = $retriever;
|
||||
$this->repository = $repository;
|
||||
}
|
||||
|
||||
public function get($coid, RequestInterface $request = null) {
|
||||
$object = $this->retriever->get($coid);
|
||||
return isset($object)
|
||||
? $this->repository->createInstance($object, $request)->get(Engine::SKEY)
|
||||
: null;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user