1: <?php
2:
3: /**
4: * This file is part of the Nette Framework (https://nette.org)
5: * Copyright (c) 2004 David Grudl (https://davidgrudl.com)
6: */
7:
8: namespace Nette\Application;
9:
10: use Nette;
11:
12:
13: /**
14: * Responsible for creating a new instance of given presenter.
15: *
16: * @author Jan Tichý <tichy@medio.cz>
17: */
18: interface IPresenterFactory
19: {
20:
21: /**
22: * Generates and checks presenter class name.
23: * @param string presenter name
24: * @return string class name
25: * @throws InvalidPresenterException
26: */
27: function getPresenterClass(& $name);
28:
29: /**
30: * Creates new presenter instance.
31: * @param string presenter name
32: * @return IPresenter
33: */
34: function createPresenter($name);
35:
36: }
37: