This package is abandoned and no longer maintained. The author suggests using the arachne/entity-loader package instead.

Hydrates presenter methods from parameters to entities

v5.1.1 2015-11-03 11:54 UTC

This package is auto-updated.

Last update: 2022-01-27 10:58:35 UTC


Build Status Quality Score Code Coverage Downloads Latest stable


$ composer require zenify/doctrine-methods-hydrator

Register the extension in config.neon:

	- Zenify\DoctrineMethodsHydrator\DI\MethodsHydratorExtension
	# Kdyby\Doctrine or another Doctrine to Nette implementation

The goal of this extension is to enhance native tryCall method of Control to hydrate parameters of called methods. All render*, action* and handle* methods are hydrated, if entity class typehint is present if args definition.


Use in presenter looks like this:

class Presenter extends Nette\Application\UI\Presenter

	 * @inject
   	 * @var Zenify\DoctrineMethodsHydrator\Contract\MethodsHydratorInterface
   	public $methodsHydrator;

	 * @param string $method
	 * @param array $parameters
	 * @return bool
	protected function tryCall($method, array $parameters)
		return $this->methodsHydrator->hydrate($method, $parameters, $this);

For Control, you can use constructor or @inject with help of DecoratorExtension.

Use Case

In template

<a n:href="Product:detail, product => $product->getId()">Product detail</a>

In presenter

class SomePresenter extends Presenter

	public function actionDetail(App\Entities\Product $product)
		dump($product); // "App\Entities\Product" object