/www/libs/nette-dev/Application/Link.php
PHP | 111 lines | 38 code | 25 blank | 48 comment | 0 complexity | c34f2e84464b2d443dac7e6264d853fc MD5 | raw file
Possible License(s): BSD-3-Clause, MIT
- <?php
- /**
- * Nette Framework
- *
- * @copyright Copyright (c) 2004, 2010 David Grudl
- * @license http://nettephp.com/license Nette license
- * @link http://nettephp.com
- * @category Nette
- * @package Nette\Application
- */
- /**
- * Lazy encapsulation of PresenterComponent::link().
- * Do not instantiate directly, use PresenterComponent::lazyLink()
- *
- * @copyright Copyright (c) 2004, 2010 David Grudl
- * @package Nette\Application
- */
- class Link extends Object
- {
- /** @var PresenterComponent */
- private $component;
- /** @var string */
- private $destination;
- /** @var array */
- private $params;
- /**
- * Link specification.
- * @param PresenterComponent
- * @param string
- * @param array
- */
- public function __construct(PresenterComponent $component, $destination, array $params)
- {
- $this->component = $component;
- $this->destination = $destination;
- $this->params = $params;
- }
- /**
- * Returns link destination.
- * @return string
- */
- public function getDestination()
- {
- return $this->destination;
- }
- /**
- * Changes link parameter.
- * @param string
- * @param mixed
- * @return Link provides a fluent interface
- */
- public function setParam($key, $value)
- {
- $this->params[$key] = $value;
- return $this;
- }
- /**
- * Returns link parameter.
- * @param string
- * @return mixed
- */
- public function getParam($key)
- {
- return isset($this->params[$key]) ? $this->params[$key] : NULL;
- }
- /**
- * Returns link parameters.
- * @return array
- */
- public function getParams()
- {
- return $this->params;
- }
- /**
- * Converts link to URL.
- * @return string
- */
- public function __toString()
- {
- try {
- return $this->component->link($this->destination, $this->params);
- } catch (Exception $e) {
- Debug::toStringException($e);
- }
- }
- }