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:
11: /**
12: * Responsible for creating a new instance of given presenter.
13: *
14: * @author Jan Tichý <tichy@medio.cz>
15: */
16: interface IPresenterFactory
17: {
18:
19: /**
20: * Generates and checks presenter class name.
21: * @param string presenter name
22: * @return string class name
23: * @throws InvalidPresenterException
24: */
25: function getPresenterClass(& $name);
26:
27: /**
28: * Creates new presenter instance.
29: * @param string presenter name
30: * @return IPresenter
31: */
32: function createPresenter($name);
33:
34: }
35: