namespace infrajs\controller; use infrajs\view\View; use infrajs\ans\Ans; use infrajs\path\Path; use infrajs\config\Config; use infrajs\event\Event; if (!is_file('vendor/autoload.php')) { chdir('../../../../'); require_once 'vendor/autoload.php'; } $ans = array(); $ans['title'] = 'Проверка функции Controller::check'; View::html('<div id="oh"></div>', true); Config::get('controller'); //Нужно инициализировать Crumb с Контроллером, crumb может работать самостоятельно. Crumb::init(); $layer = array('tpl' => array('хой<div id="test"></div>'), 'div' => 'oh'); $html = Controller::check($layer); if ($html != '<div id="oh">хой<div id="test"></div></div>') { return Ans::err($ans, 'Ошибка'); } $layer = array('tpl' => array('опа'), 'div' => 'test'); $html = Controller::check($layer); if ($html != '<div id="oh">хой<div id="test">опа</div></div>') { return Ans::err($ans, 'Ошибка ' . $html); } Layer::$start_id = 1; Layer::$ids = array(); View::html('', true); return Ans::ret($ans, 'Работает две генерации');
<?php namespace infrajs\controller; use infrajs\ans\Ans; use infrajs\path\Path; use infrajs\view\View; use infrajs\load\Load; use infrajs\router\Router; if (!is_file('vendor/autoload.php')) { chdir('../../../../'); require_once 'vendor/autoload.php'; Router::init(); } $query = Crumb::$href; $ans = array('title' => 'Проверки контроллера'); $composer = Load::loadJSON('-infrajs/composer.json'); $require = $composer['require']; foreach ($require as $path => $ver) { $p = explode('/', $path); $r = Path::reqif('-' . $p[1] . '/infra.php'); } $layer = array('data' => 1, 'tpl' => array('qewr{data}')); Crumb::change(''); $html = Controller::check($layer); if ($html != 'qewr1') { return Ans::err($ans, 'Результат неожиданный ' . $html); } Crumb::change($query); View::html('', true); return Ans::ret($ans);
public static function set(&$layer, $name, &$value) { if (!isset($layer['dyn'])) { $layer['dyn'] = array(); } $layer['dyn'][$name] = $value; if (isset($layer['parent'])) { $root =& $layer['parent'][$name]; } else { $root =& Crumb::getInstance(); } if ($layer['dyn'][$name]) { $layer[$name] =& $root->getInst($layer['dyn'][$name]); } else { $layer[$name] =& $root; } }