for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* @package EBloodBank
* @subpackage Views
* @since 1.6
*/
namespace EBloodBank\Views;
use EBloodBank\Traits\AclTrait;
use Psr\Container\ContainerInterface;
class ViewFactory
{
use AclTrait;
* @var array
protected $data = [];
public function __construct(ContainerInterface $container)
$this->setAcl($container->get('acl'));
}
* @return \EBloodBank\Views\View
public function forgeView(string $name, array $data = [])
$data = array_merge($this->getAllData(), $data);
$view = new View($name, $data);
$view->setAcl($this->getAcl());
return $view;
* @return void
public function displayView(string $name, array $data = [])
$view = $this->forgeView($name, $data);
$view();
* @since 1.0
public function setData(string $key, $value)
$this->data[$key] = $value;
* @return mixed
public function getData(string $key)
return $this->data[$key];
* @return array
public function getAllData()
return $this->data;