3 declare(strict_types
=1);
5 use PhpMyAdmin\Advisory\Advisor
;
6 use PhpMyAdmin\Application
;
7 use PhpMyAdmin\Bookmarks\BookmarkRepository
;
8 use PhpMyAdmin\BrowseForeigners
;
9 use PhpMyAdmin\CheckUserPrivileges
;
10 use PhpMyAdmin\Config
;
11 use PhpMyAdmin\ConfigStorage\Relation
;
12 use PhpMyAdmin\ConfigStorage\RelationCleanup
;
13 use PhpMyAdmin\Console
;
14 use PhpMyAdmin\CreateAddField
;
15 use PhpMyAdmin\Database\CentralColumns
;
16 use PhpMyAdmin\Database\Designer
;
17 use PhpMyAdmin\Database\Designer\Common
;
18 use PhpMyAdmin\Database\Events
;
19 use PhpMyAdmin\Database\Routines
;
20 use PhpMyAdmin\DatabaseInterface
;
21 use PhpMyAdmin\DbTableExists
;
22 use PhpMyAdmin\ErrorHandler
;
23 use PhpMyAdmin\ErrorReport
;
24 use PhpMyAdmin\Export\Export
;
25 use PhpMyAdmin\Export\Options
;
26 use PhpMyAdmin\Export\TemplateModel
;
27 use PhpMyAdmin\FileListing
;
28 use PhpMyAdmin\FlashMessages
;
29 use PhpMyAdmin\Http\Factory\ResponseFactory
;
30 use PhpMyAdmin\Import\Import
;
31 use PhpMyAdmin\Import\SimulateDml
;
32 use PhpMyAdmin\InsertEdit
;
33 use PhpMyAdmin\Navigation\Navigation
;
34 use PhpMyAdmin\Normalization
;
35 use PhpMyAdmin\Operations
;
36 use PhpMyAdmin\Partitioning\Maintenance
;
37 use PhpMyAdmin\Plugins\AuthenticationPluginFactory
;
38 use PhpMyAdmin\Replication\Replication
;
39 use PhpMyAdmin\Replication\ReplicationGui
;
40 use PhpMyAdmin\ResponseRenderer
;
41 use PhpMyAdmin\Server\Plugins
;
42 use PhpMyAdmin\Server\Privileges
;
43 use PhpMyAdmin\Server\Privileges\AccountLocking
;
44 use PhpMyAdmin\Server\Status\Data
;
45 use PhpMyAdmin\Server\Status\Monitor
;
46 use PhpMyAdmin\Server\Status\Processes
;
48 use PhpMyAdmin\SqlQueryForm
;
49 use PhpMyAdmin\Table\ColumnsDefinition
;
50 use PhpMyAdmin\Table\Indexes
;
51 use PhpMyAdmin\Table\Search
;
52 use PhpMyAdmin\Template
;
53 use PhpMyAdmin\Theme\ThemeManager
;
54 use PhpMyAdmin\Tracking\Tracking
;
55 use PhpMyAdmin\Tracking\TrackingChecker
;
56 use PhpMyAdmin\Transformations
;
57 use PhpMyAdmin\Triggers\Triggers
;
58 use PhpMyAdmin\UserPassword
;
59 use PhpMyAdmin\UserPreferences
;
60 use PhpMyAdmin\Utils\HttpRequest
;
61 use PhpMyAdmin\VersionInformation
;
62 use Symfony\Component\ExpressionLanguage\ExpressionLanguage
;
67 'class' => Advisor
::class,
68 'arguments' => ['$dbi' => '@dbi', '$expression' => '@expression_language'],
70 Application
::class => [
71 'class' => Application
::class,
73 '$errorHandler' => '@error_handler',
74 '$config' => '@config',
75 '$template' => '@template',
76 '$responseFactory' => '@' . ResponseFactory
::class,
79 'browse_foreigners' => [
80 'class' => BrowseForeigners
::class,
81 'arguments' => ['@template', '@config', '@' . ThemeManager
::class],
83 'config' => ['class' => Config
::class, 'factory' => [Config
::class, 'getInstance']],
84 Config\PageSettings
::class => ['class' => Config\PageSettings
::class, 'arguments' => ['@user_preferences']],
85 'central_columns' => ['class' => CentralColumns
::class, 'arguments' => ['@dbi']],
86 'check_user_privileges' => ['class' => CheckUserPrivileges
::class, 'arguments' => ['@dbi']],
87 'create_add_field' => ['class' => CreateAddField
::class, 'arguments' => ['@dbi']],
88 'dbi' => ['class' => DatabaseInterface
::class, 'factory' => [DatabaseInterface
::class, 'getInstance']],
89 DbTableExists
::class => ['class' => DbTableExists
::class, 'arguments' => ['@dbi']],
91 'class' => Designer
::class,
92 'arguments' => ['$dbi' => '@dbi', '$relation' => '@relation', '$template' => '@template'],
94 'designer_common' => [
95 'class' => Common
::class,
96 'arguments' => ['$dbi' => '@dbi', '$relation' => '@relation'],
98 'error_handler' => ['class' => ErrorHandler
::class, 'factory' => [ErrorHandler
::class, 'getInstance']],
100 'class' => ErrorReport
::class,
101 'arguments' => ['@http_request', '@relation', '@template', '@config'],
103 'events' => ['class' => Events
::class, 'arguments' => ['@dbi']],
104 'export' => ['class' => Export
::class, 'arguments' => ['@dbi']],
105 'export_options' => [
106 'class' => Options
::class,
107 'arguments' => ['@relation', '@export_template_model'],
109 'export_template_model' => ['class' => TemplateModel
::class, 'arguments' => ['@dbi']],
110 'expression_language' => ['class' => ExpressionLanguage
::class],
111 'file_listing' => ['class' => FileListing
::class],
112 'flash' => ['class' => FlashMessages
::class],
113 'http_request' => ['class' => HttpRequest
::class],
114 ResponseFactory
::class => [
115 'class' => ResponseFactory
::class,
116 'factory' => [ResponseFactory
::class, 'create'],
118 'import' => ['class' => Import
::class],
119 'import_simulate_dml' => ['class' => SimulateDml
::class, 'arguments' => ['@dbi']],
121 'class' => InsertEdit
::class,
122 'arguments' => ['@dbi', '@relation', '@transformations', '@file_listing', '@template'],
125 'class' => Navigation
::class,
126 'arguments' => ['@template', '@relation', '@dbi'],
129 'class' => Normalization
::class,
132 '$relation' => '@relation',
133 '$transformations' => '@transformations',
134 '$template' => '@template',
138 'class' => Operations
::class,
139 'arguments' => ['$dbi' => '@dbi', '$relation' => '@relation'],
141 'partitioning_maintenance' => [
142 'class' => Maintenance
::class,
143 'arguments' => ['$dbi' => '@dbi'],
145 AuthenticationPluginFactory
::class => ['class' => AuthenticationPluginFactory
::class],
146 'relation' => ['class' => Relation
::class, 'arguments' => ['$dbi' => '@dbi']],
147 'relation_cleanup' => ['class' => RelationCleanup
::class, 'arguments' => ['@dbi', '@relation']],
148 'replication' => ['class' => Replication
::class, 'arguments' => ['$dbi' => '@dbi']],
149 'replication_gui' => [
150 'class' => ReplicationGui
::class,
151 'arguments' => ['$replication' => '@replication', '$template' => '@template'],
154 'class' => ResponseRenderer
::class,
155 'factory' => [PhpMyAdmin\ResponseRenderer
::class, 'getInstance'],
157 'routines' => ['class' => Routines
::class, 'arguments' => ['@dbi']],
158 'server_plugins' => ['class' => Plugins
::class, 'arguments' => ['@dbi']],
159 'server_privileges' => [
160 'class' => Privileges
::class,
161 'arguments' => ['@template', '@dbi', '@relation', '@relation_cleanup', '@server_plugins'],
163 'server_privileges_account_locking' => [
164 'class' => AccountLocking
::class,
165 'arguments' => ['@dbi'],
168 'class' => Sql
::class,
176 '@bookmarkRepository',
179 'sql_query_form' => [
180 'class' => SqlQueryForm
::class,
182 '$template' => '@template',
184 '$bookmarkRepository' => '@bookmarkRepository',
187 'status_data' => ['class' => Data
::class, 'arguments' => ['@dbi','@config']],
188 'status_monitor' => ['class' => Monitor
::class, 'arguments' => ['@dbi']],
189 'status_processes' => ['class' => Processes
::class, 'arguments' => ['@dbi']],
190 'table_columns_definition' => [
191 'class' => ColumnsDefinition
::class,
192 'arguments' => ['$dbi' => '@dbi', '$relation' => '@relation', '$transformations' => '@transformations'],
195 'class' => Indexes
::class,
196 'arguments' => ['$response' => '@response', '$template' => '@template', '$dbi' => '@dbi'],
198 'table_maintenance' => ['class' => PhpMyAdmin\Table\Maintenance
::class, 'arguments' => ['$dbi' => '@dbi']],
199 'table_search' => ['class' => Search
::class, 'arguments' => ['$dbi' => '@dbi']],
200 'template' => ['class' => Template
::class, 'arguments' => ['$config' => '@config']],
201 ThemeManager
::class => ['class' => PhpMyAdmin\Theme\ThemeManager
::class],
203 'class' => Tracking
::class,
205 '$sqlQueryForm' => '@sql_query_form',
206 '$template' => '@template',
207 '$relation' => '@relation',
209 '$trackingChecker' => '@tracking_checker',
212 'tracking_checker' => [
213 'class' => TrackingChecker
::class,
214 'arguments' => ['$dbi' => '@dbi', '$relation' => '@relation'],
216 'transformations' => ['class' => Transformations
::class],
217 'triggers' => ['class' => Triggers
::class, 'arguments' => ['@dbi']],
219 'class' => UserPassword
::class,
220 'arguments' => ['@server_privileges', '@' . AuthenticationPluginFactory
::class, '@dbi'],
222 'user_preferences' => ['class' => UserPreferences
::class, 'arguments' => ['@dbi', '@relation', '@template']],
223 'version_information' => ['class' => VersionInformation
::class],
224 DatabaseInterface
::class => 'dbi',
225 PhpMyAdmin\FlashMessages
::class => 'flash',
226 PhpMyAdmin\ResponseRenderer
::class => 'response',
227 'bookmarkRepository' => ['class' => BookmarkRepository
::class, 'arguments' => ['@dbi', '@relation']],
228 'console' => ['class' => Console
::class, 'arguments' => [ '@relation', '@template', '@bookmarkRepository']],