1: <?php
2:
3: namespace PHPixie\Framework;
4:
5: use PHPixie\Auth\Repositories;
6: use PHPixie\Filesystem\Root;
7: use PHPixie\ORM\Wrappers;
8: use PHPixie\Route\Resolvers\Resolver;
9: use PHPixie\Slice\Data;
10:
11: /**
12: * Framework configuration
13: */
14: interface Configuration
15: {
16: /**
17: * Database configuration
18: * @return Data
19: */
20: public function databaseConfig();
21:
22: /**
23: * Template configuration
24: * @return Data
25: */
26: public function templateConfig();
27:
28: /**
29: * HTTP configuration
30: * @return Data
31: */
32: public function httpConfig();
33:
34: /**
35: * Processor for HTTP requests
36: * @return HTTP
37: */
38: public function httpProcessor();
39:
40: /**
41: * Route resolver
42: * @return Resolver
43: */
44: public function httpRouteResolver();
45:
46: /**
47: * ORM configuration
48: * @return Data
49: */
50: public function ormConfig();
51:
52: /**
53: * ORM wrappers
54: * @return Wrappers
55: */
56: public function ormWrappers();
57:
58: /**
59: * Project root
60: * @return Root
61: */
62: public function filesystemRoot();
63:
64: /**
65: * Template locator
66: * @return Locator
67: */
68: public function templateLocator();
69:
70: /**
71: * Auth configuration
72: * @return Data
73: */
74: public function authConfig();
75:
76: /**
77: * User repositories for Auth component
78: * @return Repositories
79: */
80: public function authRepositories();
81: }