public function process(Navigator $navigator) { if ($this->getCallable()) { parent::process(); } else { if ($cond = $this->prepareLikeCondition()) { $navigator->addCondition($cond); } } }
function testCreate() { $n = makeNavigator('/hello/world/id:3/', array('one' => 'two')); $this->assertEquals('two', $n->getParameter('one'), 'Получаем параметр из Request'); $this->assertEquals(3, $n->getParameter('id'), 'Получаем параметр из URL'); $this->assertFalse($n->getParameter('blabla'), 'Несуществующий параметр'); $this->assertTrue($n->getParameter('blabla', true), 'Несуществующий параметр и значение по-умолчанию'); $n = new Navigator(Request::create('/'), new URL('my', 'url')); $this->assertEquals('/my/url/', $n->getUrl()->toString(), 'URL передан явно в конструктор'); $n->cloneUrl()->setParameter('some', 'value'); $this->assertEquals('/my/url/', $n->getUrl()->toString(), 'В результате клонирования основной URL не изменился'); }
public function process(Navigator $navigator) { if ($this->getCallable()) { parent::process(); } else { if ($from = $this->prepareFromCondition()) { $navigator->addCondition($from); } if ($to = $this->prepareToCondition()) { $navigator->addCondition($to); } } }
public function getUrl() { if ($this->url) { return $this->url; } if ($this->navigator) { return $this->navigator->getUrlClean(); } return new URL(); }
public function process(Navigator $navigator) { if ($val = $this->getCleanValue()) { $navigator->addCondition($val, $this->getField()); } }