} if ($obj->parent !== $parent) { return Ans::err($ans, 'Некорректно определён parent'); } Crumb::change('test/hi'); $obj = Crumb::getInstance('test'); if (!$obj->is) { return Ans::err($ans, 'Не применилась крошка на втором уровне'); } $root = Crumb::getInstance(); Crumb::change(''); $crumb = Crumb::getInstance(''); $f = $crumb->query; Crumb::change('test'); $s =& Crumb::getInstance('some'); $s2 =& Crumb::getInstance('some'); $r = Each::isEqual($s, $s2); $s = Crumb::$childs; $r2 = Each::isEqual($s[''], Crumb::getInstance()); $r = $r && $r2; $crumb = Crumb::getInstance('test'); $crumb2 = Crumb::getInstance('test2'); if (!($f == null && $r && !is_null($crumb->value) && is_null($crumb2->value))) { return Ans::err($ans, 'Изменения крошек'); } Crumb::change('test/test'); $inst = Crumb::getInstance('test/test/test'); Crumb::change($query); Layer::$start_id = 1; Layer::$ids = array(); return Ans::ret($ans);
if (!$res) { return false; } } }, 'tplcheck:is'); Event::handler('Layer.isshow', function (&$layer) { //tpl depricated if (Layer::pop($layer, 'onlyclient')) { return; } return Tpl::jsoncheck($layer); }, 'jsoncheck:is'); Run::runAddKeys('childs'); Run::runAddList('child'); Event::handler('Layer.oninit', function () { $root = Crumb::getInstance(); if (!$root->is) { throw new \Exception('Crumb нужно инициализировать до запуска контроллера'); } Sequence::set(Template::$scope, Sequence::right('infra.Crumb.query'), $root->query); Sequence::set(Template::$scope, Sequence::right('infra.Crumb.params'), Crumb::$params); Sequence::set(Template::$scope, Sequence::right('infra.Crumb.get'), Crumb::$get); $cl = function ($mix = null) { return ext\Crumb::getInstance($mix); }; Sequence::set(Template::$scope, Sequence::right('infra.Crumb.getInstance'), $cl); External::add('child', 'layers'); External::add('crumb', function (&$now, &$ext, &$layer, &$external, $i) { //проверка external в onchange Crumb::set($layer, 'crumb', $ext); return $layer[$i];
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; } }