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