flarum / issue-archive

0 stars 0 forks source link

Speed up - too much (unnecessary) includes #269

Open gooof opened 5 years ago

gooof commented 5 years ago

Bug Report

Current Behavior Currently flarum is loading over 450 files per page (with standard extensions enabled). That is a bit too much and costs much unnecessary time.

Example: swiftmailer are never need on the frontend, its only to send mails in cronjobs, after sending a post etc., no need to load these 17 files on every page.

Expected Behavior Make sure that only files are loading that used on the requested page.

Environment

total: 0.218 sec (fast but it could faster)
included files:
0 \\index.php
2 \\vendor\autoload.php
3 \\vendor\composer\autoload_real.php
4 \\vendor\composer\ClassLoader.php
5 \\vendor\composer\autoload_static.php
6 \\vendor\danielstjules\stringy\src\Create.php
7 \\vendor\paragonie\random_compat\lib\random.php
8 \\vendor\illuminate\support\helpers.php
9 \\vendor\symfony\polyfill-ctype\bootstrap.php
10 \\vendor\symfony\polyfill-mbstring\bootstrap.php
11 \\vendor\zendframework\zend-diactoros\src\functions\create_uploaded_file.php
12 \\vendor\zendframework\zend-diactoros\src\functions\marshal_headers_from_sapi.php
13 \\vendor\zendframework\zend-diactoros\src\functions\marshal_method_from_sapi.php
14 \\vendor\zendframework\zend-diactoros\src\functions\marshal_protocol_version_from_sapi.php
15 \\vendor\zendframework\zend-diactoros\src\functions\marshal_uri_from_sapi.php
16 \\vendor\zendframework\zend-diactoros\src\functions\normalize_server.php
17 \\vendor\zendframework\zend-diactoros\src\functions\normalize_uploaded_files.php
18 \\vendor\zendframework\zend-diactoros\src\functions\parse_cookie_header.php
19 \\vendor\guzzlehttp\psr7\src\functions_include.php
20 \\vendor\guzzlehttp\psr7\src\functions.php
21 \\vendor\swiftmailer\swiftmailer\lib\swift_required.php
22 \\vendor\swiftmailer\swiftmailer\lib\classes\Swift.php
23 \\vendor\guzzlehttp\promises\src\functions_include.php
24 \\vendor\guzzlehttp\promises\src\functions.php
25 \\vendor\guzzlehttp\guzzle\src\functions_include.php
26 \\vendor\guzzlehttp\guzzle\src\functions.php
27 \\vendor\nikic\fast-route\src\functions.php
28 \\vendor\flarum\core\src\helpers.php
29 \\vendor\flarum\core\src\Forum\Server.php
30 \\vendor\flarum\core\src\Http\AbstractServer.php
31 \\vendor\flarum\core\src\Foundation\AbstractServer.php
32 \\config.php
33 \\vendor\zendframework\zend-diactoros\src\Server.php
34 \\vendor\zendframework\zend-diactoros\src\ServerRequestFactory.php
35 \\vendor\zendframework\zend-diactoros\src\ServerRequest.php
36 \\vendor\zendframework\zend-diactoros\src\RequestTrait.php
37 \\vendor\zendframework\zend-diactoros\src\MessageTrait.php
38 \\vendor\psr\http-message\src\ServerRequestInterface.php
39 \\vendor\psr\http-message\src\RequestInterface.php
40 \\vendor\psr\http-message\src\MessageInterface.php
41 \\vendor\zendframework\zend-diactoros\src\Uri.php
42 \\vendor\psr\http-message\src\UriInterface.php
43 \\vendor\zendframework\zend-diactoros\src\PhpInputStream.php
44 \\vendor\zendframework\zend-diactoros\src\Stream.php
45 \\vendor\psr\http-message\src\StreamInterface.php
46 \\vendor\zendframework\zend-diactoros\src\HeaderSecurity.php
47 \\vendor\zendframework\zend-diactoros\src\Response.php
48 \\vendor\psr\http-message\src\ResponseInterface.php
49 \\vendor\zendframework\zend-stratigility\src\NoopFinalHandler.php
50 \\vendor\flarum\core\src\Foundation\Application.php
51 \\vendor\illuminate\container\Container.php
52 \\vendor\illuminate\contracts\Container\Container.php
53 \\vendor\illuminate\contracts\Foundation\Application.php
54 \\vendor\illuminate\events\EventServiceProvider.php
55 \\vendor\illuminate\support\ServiceProvider.php
56 \\vendor\illuminate\support\Arr.php
57 \\vendor\illuminate\support\Traits\Macroable.php
58 \\vendor\illuminate\events\Dispatcher.php
59 \\vendor\illuminate\contracts\Events\Dispatcher.php
60 \\vendor\illuminate\config\Repository.php
61 \\vendor\illuminate\contracts\Config\Repository.php
62 \\vendor\monolog\monolog\src\Monolog\Logger.php
63 \\vendor\psr\log\Psr\Log\LoggerInterface.php
64 \\vendor\monolog\monolog\src\Monolog\Handler\StreamHandler.php
65 \\vendor\monolog\monolog\src\Monolog\Handler\AbstractProcessingHandler.php
66 \\vendor\monolog\monolog\src\Monolog\Handler\AbstractHandler.php
67 \\vendor\monolog\monolog\src\Monolog\Handler\HandlerInterface.php
68 \\vendor\monolog\monolog\src\Monolog\Formatter\LineFormatter.php
69 \\vendor\monolog\monolog\src\Monolog\Formatter\NormalizerFormatter.php
70 \\vendor\monolog\monolog\src\Monolog\Formatter\FormatterInterface.php
71 \\vendor\flarum\core\src\Database\DatabaseServiceProvider.php
72 \\vendor\flarum\core\src\Foundation\AbstractServiceProvider.php
73 \\vendor\flarum\core\src\Settings\SettingsServiceProvider.php
74 \\vendor\flarum\core\src\Locale\LocaleServiceProvider.php
75 \\vendor\illuminate\bus\BusServiceProvider.php
76 \\vendor\illuminate\filesystem\FilesystemServiceProvider.php
77 \\vendor\illuminate\hashing\HashServiceProvider.php
78 \\vendor\illuminate\mail\MailServiceProvider.php
79 \\vendor\illuminate\view\ViewServiceProvider.php
80 \\vendor\illuminate\validation\ValidationServiceProvider.php
81 \\vendor\illuminate\contracts\Validation\ValidatesWhenResolved.php
82 \\vendor\flarum\core\src\Settings\MemoryCacheSettingsRepository.php
83 \\vendor\flarum\core\src\Settings\SettingsRepositoryInterface.php
84 \\vendor\flarum\core\src\Settings\DatabaseSettingsRepository.php
85 \\vendor\illuminate\database\Connectors\ConnectionFactory.php
86 \\vendor\illuminate\database\Connectors\MySqlConnector.php
87 \\vendor\illuminate\database\Connectors\Connector.php
88 \\vendor\illuminate\database\DetectsLostConnections.php
89 \\vendor\illuminate\database\Connectors\ConnectorInterface.php
90 \\vendor\illuminate\database\MySqlConnection.php
91 \\vendor\illuminate\database\Connection.php
92 \\vendor\illuminate\database\ConnectionInterface.php
93 \\vendor\illuminate\database\Query\Grammars\MySqlGrammar.php
94 \\vendor\illuminate\database\Query\Grammars\Grammar.php
95 \\vendor\illuminate\database\Grammar.php
96 \\vendor\illuminate\database\Query\Processors\MySqlProcessor.php
97 \\vendor\illuminate\database\Query\Processors\Processor.php
98 \\vendor\illuminate\database\Query\Builder.php
99 \\vendor\flarum\core\src\Core\CoreServiceProvider.php
100 \\vendor\illuminate\container\ContextualBindingBuilder.php
101 \\vendor\illuminate\contracts\Container\ContextualBindingBuilder.php
102 \\vendor\flarum\core\src\Core\Notification\NotificationServiceProvider.php
103 \\vendor\flarum\core\src\Core\Search\SearchServiceProvider.php
104 \\vendor\flarum\core\src\Formatter\FormatterServiceProvider.php
105 \\vendor\flarum\core\src\Api\ApiServiceProvider.php
106 \\vendor\flarum\core\src\Forum\ForumServiceProvider.php
107 \\vendor\flarum\core\src\Admin\AdminServiceProvider.php
108 \\vendor\flarum\core\src\Extension\ExtensionServiceProvider.php
109 \\vendor\flarum\core\src\Extension\ExtensionManager.php
110 \\vendor\flarum\core\src\Database\Migrator.php
111 \\vendor\flarum\core\src\Database\MigrationRepositoryInterface.php
112 \\vendor\flarum\core\src\Database\DatabaseMigrationRepository.php
113 \\vendor\illuminate\database\ConnectionResolver.php
114 \\vendor\illuminate\database\ConnectionResolverInterface.php
115 \\vendor\illuminate\filesystem\Filesystem.php
116 \\vendor\illuminate\support\Collection.php
117 \\vendor\illuminate\contracts\Support\Arrayable.php
118 \\vendor\illuminate\contracts\Support\Jsonable.php
119 \\vendor\flarum\core\src\Extension\Extension.php
120 \\vendor\illuminate\support\Str.php
121 \\vendor\flarum\flarum-ext-approval\bootstrap.php
122 \\vendor\flarum\flarum-ext-approval\src\Listener\AddClientAssets.php
123 \\vendor\flarum\flarum-ext-approval\src\Listener\AddPostApprovalAttributes.php
124 \\vendor\flarum\flarum-ext-approval\src\Listener\ApproveContent.php
125 \\vendor\flarum\core\src\Core\Access\AssertPermissionTrait.php
126 \\vendor\flarum\flarum-ext-approval\src\Listener\HideUnapprovedContent.php
127 \\vendor\flarum\flarum-ext-approval\src\Listener\UnapproveNewContent.php
128 \\vendor\flarum\flarum-ext-approval\src\Access\TagPolicy.php
129 \\vendor\flarum\core\src\Core\Access\AbstractPolicy.php
130 \\vendor\flarum\flarum-ext-bbcode\bootstrap.php
131 \\vendor\flarum\flarum-ext-bbcode\src\Listener\FormatBBCode.php
132 \\vendor\cbmainz\flarum-de\bootstrap.php
133 \\vendor\flarum\flarum-ext-emoji\bootstrap.php
134 \\vendor\flarum\flarum-ext-emoji\src\Listener\AddClientAssets.php
135 \\vendor\flarum\flarum-ext-emoji\src\Listener\FormatEmoticons.php
136 \\vendor\flarum\flarum-ext-english\bootstrap.php
137 \\vendor\flarum\flarum-ext-flags\bootstrap.php
138 \\vendor\flarum\flarum-ext-flags\src\Listener\AddClientAssets.php
139 \\vendor\flarum\flarum-ext-flags\src\Listener\AddFlagsApi.php
140 \\vendor\flarum\flarum-ext-flags\src\Listener\AddPostFlagsRelationship.php
---
143 \\vendor\flarum\flarum-ext-likes\bootstrap.php
144 \\vendor\flarum\flarum-ext-likes\src\Listener\AddClientAssets.php
145 \\vendor\flarum\flarum-ext-likes\src\Listener\AddPostLikesRelationship.php
146 \\vendor\flarum\flarum-ext-likes\src\Listener\SaveLikesToDatabase.php
147 \\vendor\flarum\flarum-ext-likes\src\Listener\SendNotificationWhenPostIsLiked.php
148 \\vendor\flarum\core\src\Core\Notification\NotificationSyncer.php
149 \\vendor\flarum\core\src\Core\Repository\NotificationRepository.php
150 \\vendor\flarum\core\src\Core\Notification\NotificationMailer.php
151 \\vendor\illuminate\contracts\Mail\Mailer.php
152 \\vendor\illuminate\mail\Mailer.php
153 \\vendor\illuminate\contracts\Mail\MailQueue.php
154 \\vendor\illuminate\view\Engines\EngineResolver.php
155 \\vendor\illuminate\view\FileViewFinder.php
156 \\vendor\illuminate\view\ViewFinderInterface.php
157 \\vendor\illuminate\view\Factory.php
158 \\vendor\illuminate\contracts\View\Factory.php
159 \\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Mailer.php
160 \\vendor\swiftmailer\swiftmailer\lib\swift_init.php
161 \\vendor\swiftmailer\swiftmailer\lib\dependency_maps\cache_deps.php
162 \\vendor\swiftmailer\swiftmailer\lib\classes\Swift\DependencyContainer.php
163 \\vendor\swiftmailer\swiftmailer\lib\dependency_maps\mime_deps.php
164 \\vendor\swiftmailer\swiftmailer\lib\mime_types.php
165 \\vendor\swiftmailer\swiftmailer\lib\dependency_maps\message_deps.php
166 \\vendor\swiftmailer\swiftmailer\lib\dependency_maps\transport_deps.php
167 \\vendor\swiftmailer\swiftmailer\lib\preferences.php
168 \\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Preferences.php
169 \\vendor\illuminate\mail\TransportManager.php
170 \\vendor\illuminate\support\Manager.php
171 \\vendor\swiftmailer\swiftmailer\lib\classes\Swift\MailTransport.php
172 \\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\MailTransport.php
173 \\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport.php
174 \\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\SimpleMailInvoker.php
175 \\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\MailInvoker.php
176 \\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Events\SimpleEventDispatcher.php
177 \\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Events\EventDispatcher.php
178 \\vendor\flarum\flarum-ext-lock\bootstrap.php
179 \\vendor\flarum\flarum-ext-lock\src\Listener\AddClientAssets.php
180 \\vendor\flarum\flarum-ext-lock\src\Listener\AddDiscussionLockedAttributes.php
181 \\vendor\flarum\flarum-ext-lock\src\Listener\AddLockedGambit.php
182 \\vendor\flarum\flarum-ext-lock\src\Listener\CreatePostWhenDiscussionIsLocked.php
183 \\vendor\flarum\flarum-ext-lock\src\Listener\SaveLockedToDatabase.php
184 \\vendor\flarum\flarum-ext-lock\src\Access\DiscussionPolicy.php
185 \\vendor\flarum\flarum-ext-lock\src\Access\PostPolicy.php
186 \\vendor\flarum\flarum-ext-markdown\bootstrap.php
187 \\vendor\flarum\flarum-ext-markdown\src\Listener\FormatMarkdown.php
188 \\vendor\flarum\flarum-ext-mentions\bootstrap.php
189 \\vendor\flarum\flarum-ext-mentions\src\Listener\AddClientAssets.php
190 \\vendor\flarum\flarum-ext-mentions\src\Listener\AddPostMentionedByRelationship.php
191 \\vendor\flarum\core\src\Core\Repository\PostRepository.php
192 \\vendor\flarum\flarum-ext-mentions\src\Listener\FormatPostMentions.php
193 \\vendor\flarum\core\src\Forum\UrlGenerator.php
194 \\vendor\flarum\core\src\Http\AbstractUrlGenerator.php
195 \\vendor\flarum\core\src\Http\RouteCollection.php
196 \\vendor\nikic\fast-route\src\DataGenerator\GroupCountBased.php
197 \\vendor\nikic\fast-route\src\DataGenerator\RegexBasedAbstract.php
198 \\vendor\nikic\fast-route\src\DataGenerator.php
199 \\vendor\nikic\fast-route\src\RouteParser\Std.php
200 \\vendor\nikic\fast-route\src\RouteParser.php
201 \\vendor\flarum\flarum-ext-mentions\src\Listener\FormatUserMentions.php
202 \\vendor\flarum\core\src\Core\Repository\UserRepository.php
203 \\vendor\flarum\flarum-ext-mentions\src\Listener\UpdatePostMentionsMetadata.php
204 \\vendor\flarum\flarum-ext-mentions\src\Listener\UpdateUserMentionsMetadata.php
205 \\vendor\flarum\flarum-ext-mentions\src\Listener\AddFilterByMentions.php
206 \\vendor\flarum\flarum-ext-sticky\bootstrap.php
207 \\vendor\flarum\flarum-ext-sticky\src\Listener\AddApiAttributes.php
208 \\vendor\flarum\flarum-ext-sticky\src\Listener\AddClientAssets.php
209 \\vendor\flarum\flarum-ext-sticky\src\Listener\CreatePostWhenDiscussionIsStickied.php
210 \\vendor\flarum\flarum-ext-sticky\src\Listener\PinStickiedDiscussionsToTop.php
211 \\vendor\flarum\flarum-ext-sticky\src\Listener\SaveStickyToDatabase.php
212 \\vendor\flarum\flarum-ext-subscriptions\bootstrap.php
213 \\vendor\flarum\flarum-ext-subscriptions\src\Listener\AddClientAssets.php
214 \\vendor\flarum\flarum-ext-subscriptions\src\Listener\AddDiscussionSubscriptionAttribute.php
215 \\vendor\flarum\flarum-ext-subscriptions\src\Listener\FilterDiscussionListBySubscription.php
216 \\vendor\flarum\flarum-ext-subscriptions\src\Listener\SaveSubscriptionToDatabase.php
217 \\vendor\flarum\flarum-ext-subscriptions\src\Listener\SendNotificationWhenReplyIsPosted.php
218 \\vendor\flarum\flarum-ext-subscriptions\src\Listener\FollowAfterReply.php
219 \\vendor\flarum\flarum-ext-suspend\bootstrap.php
220 \\vendor\flarum\flarum-ext-suspend\src\Listener\AddClientAssets.php
221 \\vendor\flarum\flarum-ext-suspend\src\Listener\AddUserSuspendAttributes.php
222 \\vendor\flarum\flarum-ext-suspend\src\Listener\RevokeAccessFromSuspendedUsers.php
223 \\vendor\flarum\flarum-ext-suspend\src\Listener\SaveSuspensionToDatabase.php
224 \\vendor\flarum\flarum-ext-suspend\src\SuspendValidator.php
225 \\vendor\flarum\core\src\Core\Validator\AbstractValidator.php
226 \\vendor\illuminate\validation\Factory.php
227 \\vendor\illuminate\contracts\Validation\Factory.php
228 \\vendor\flarum\core\src\Locale\Translator.php
229 \\vendor\symfony\translation\Translator.php
230 \\vendor\symfony\translation\TranslatorInterface.php
231 \\vendor\symfony\translation\TranslatorBagInterface.php
232 \\vendor\symfony\translation\MessageSelector.php
233 \\vendor\flarum\core\src\Locale\PrefixedYamlFileLoader.php
234 \\vendor\symfony\translation\Loader\YamlFileLoader.php
235 \\vendor\symfony\translation\Loader\ArrayLoader.php
236 \\vendor\symfony\translation\Loader\LoaderInterface.php
237 \\vendor\illuminate\validation\DatabasePresenceVerifier.php
238 \\vendor\illuminate\validation\PresenceVerifierInterface.php
239 \\vendor\flarum\flarum-ext-suspend\src\Access\UserPolicy.php
240 \\vendor\flarum\flarum-ext-tags\bootstrap.php
241 \\vendor\flarum\flarum-ext-tags\src\Listener\AddClientAssets.php
242 \\vendor\flarum\flarum-ext-tags\src\Listener\AddDiscussionTagsRelationship.php
243 \\vendor\flarum\flarum-ext-tags\src\Listener\AddForumTagsRelationship.php
244 \\vendor\flarum\flarum-ext-tags\src\Listener\AddTagsApi.php
245 \\vendor\flarum\flarum-ext-tags\src\Listener\CreatePostWhenTagsAreChanged.php
246 \\vendor\flarum\flarum-ext-tags\src\Listener\FilterDiscussionListByTags.php
247 \\vendor\flarum\flarum-ext-tags\src\Listener\FilterPostsQueryByTag.php
248 \\vendor\flarum\flarum-ext-tags\src\Listener\SaveTagsToDatabase.php
249 \\vendor\flarum\flarum-ext-tags\src\Listener\UpdateTagMetadata.php
250 \\vendor\flarum\flarum-ext-tags\src\Access\GlobalPolicy.php
251 \\vendor\flarum\flarum-ext-tags\src\Access\DiscussionPolicy.php
252 \\vendor\flarum\flarum-ext-tags\src\Access\TagPolicy.php
253 \\vendor\flarum\flarum-ext-tags\src\Access\FlagPolicy.php
254 \\vendor\flarum\core\src\Database\AbstractModel.php
255 \\vendor\illuminate\database\Eloquent\Model.php
256 \\vendor\illuminate\contracts\Queue\QueueableEntity.php
257 \\vendor\illuminate\contracts\Routing\UrlRoutable.php
258 \\vendor\flarum\core\src\Locale\LocaleManager.php
259 \\vendor\flarum\core\src\Event\ConfigureLocales.php
260 \\vendor\flarum\core\src\Event\ConfigureNotificationTypes.php
261 \\vendor\flarum\flarum-ext-likes\src\Notification\PostLikedBlueprint.php
262 \\vendor\flarum\core\src\Core\Notification\BlueprintInterface.php
263 \\vendor\flarum\flarum-ext-lock\src\Notification\DiscussionLockedBlueprint.php
264 \\vendor\flarum\flarum-ext-mentions\src\Notification\PostMentionedBlueprint.php
265 \\vendor\flarum\core\src\Core\Notification\MailableInterface.php
266 \\vendor\flarum\flarum-ext-mentions\src\Notification\UserMentionedBlueprint.php
267 \\vendor\flarum\flarum-ext-subscriptions\src\Notification\NewPostBlueprint.php
268 \\vendor\flarum\core\src\Core\Notification.php
269 \\vendor\flarum\core\src\Core\Notification\DiscussionRenamedBlueprint.php
270 \\vendor\flarum\core\src\Core\User.php
271 \\vendor\flarum\core\src\Core\Support\EventGeneratorTrait.php
272 \\vendor\flarum\core\src\Core\Support\ScopeVisibilityTrait.php
273 \\vendor\illuminate\bus\Dispatcher.php
274 \\vendor\illuminate\contracts\Bus\Dispatcher.php
275 \\vendor\illuminate\contracts\Bus\QueueingDispatcher.php
276 \\vendor\illuminate\contracts\Bus\HandlerResolver.php
277 \\vendor\illuminate\pipeline\Pipeline.php
278 \\vendor\illuminate\contracts\Pipeline\Pipeline.php
279 \\vendor\flarum\core\src\Core\Access\Gate.php
280 \\vendor\illuminate\contracts\Auth\Access\Gate.php
281 \\vendor\flarum\core\src\Event\ConfigurePostTypes.php
282 \\vendor\flarum\core\src\Core\Post.php
283 \\vendor\flarum\core\src\Core\Post\CommentPost.php
284 \\vendor\flarum\core\src\Core\Post\DiscussionRenamedPost.php
285 \\vendor\flarum\core\src\Core\Post\AbstractEventPost.php
286 \\vendor\flarum\core\src\Core\Post\MergeableInterface.php
287 \\vendor\flarum\flarum-ext-lock\src\Post\DiscussionLockedPost.php
288 \\vendor\flarum\flarum-ext-sticky\src\Post\DiscussionStickiedPost.php
289 \\vendor\flarum\flarum-ext-tags\src\Post\DiscussionTaggedPost.php
290 \\vendor\flarum\core\src\Formatter\Formatter.php
291 \\vendor\illuminate\cache\Repository.php
292 \\vendor\illuminate\contracts\Cache\Repository.php
293 \\vendor\illuminate\cache\FileStore.php
294 \\vendor\illuminate\contracts\Cache\Store.php
295 \\vendor\illuminate\hashing\BcryptHasher.php
296 \\vendor\illuminate\contracts\Hashing\Hasher.php
297 \\vendor\flarum\core\src\Core\Listener\SelfDemotionGuard.php
298 \\vendor\flarum\core\src\Core\Listener\DiscussionMetadataUpdater.php
299 \\vendor\flarum\core\src\Core\Listener\UserMetadataUpdater.php
300 \\vendor\flarum\core\src\Core\Listener\ExtensionValidator.php
301 \\vendor\flarum\core\src\Core\Listener\EmailConfirmationMailer.php
302 \\vendor\flarum\core\src\Core\Listener\DiscussionRenamedNotifier.php
303 \\vendor\flarum\core\src\Core\Access\DiscussionPolicy.php
304 \\vendor\flarum\core\src\Core\Access\GroupPolicy.php
305 \\vendor\flarum\core\src\Core\Access\PostPolicy.php
306 \\vendor\flarum\core\src\Core\Access\UserPolicy.php
307 \\vendor\flarum\core\src\Http\Handler\RouteHandlerFactory.php
308 \\vendor\flarum\core\src\Http\Handler\ControllerRouteHandler.php
309 \\vendor\nikic\fast-route\src\Route.php
310 \\vendor\flarum\core\src\Event\ConfigureApiRoutes.php
311 \\vendor\flarum\core\src\Event\AbstractConfigureRoutes.php
312 \\vendor\flarum\core\src\Api\Serializer\NotificationSerializer.php
313 \\vendor\flarum\core\src\Api\Serializer\AbstractSerializer.php
314 \\vendor\tobscure\json-api\src\AbstractSerializer.php
315 \\vendor\tobscure\json-api\src\SerializerInterface.php
316 \\vendor\flarum\core\src\Api\Controller\AbstractSerializeController.php
317 \\vendor\flarum\core\src\Http\Controller\ControllerInterface.php
318 \\vendor\flarum\core\src\Event\ConfigureForumRoutes.php
319 \\vendor\zendframework\zend-stratigility\src\MiddlewarePipe.php
320 \\vendor\zendframework\zend-stratigility\src\MiddlewareInterface.php
321 \\vendor\http-interop\http-middleware\src\ServerMiddlewareInterface.php
322 \\vendor\flarum\core\src\Http\Middleware\HandleErrors.php
323 \\vendor\zendframework\zend-stratigility\src\Utils.php
324 \\vendor\zendframework\zend-stratigility\src\Route.php
325 \\vendor\flarum\core\src\Http\Middleware\ParseJsonBody.php
326 \\vendor\flarum\core\src\Http\Middleware\StartSession.php
327 \\vendor\flarum\core\src\Http\CookieFactory.php
328 \\vendor\flarum\core\src\Http\Middleware\RememberFromCookie.php
329 \\vendor\flarum\core\src\Http\Middleware\AuthenticateWithSession.php
330 \\vendor\flarum\core\src\Http\Middleware\SetLocale.php
331 \\vendor\flarum\core\src\Event\ConfigureMiddleware.php
332 \\vendor\flarum\core\src\Http\Middleware\DispatchRoute.php
333 \\vendor\zendframework\zend-stratigility\src\Http\Request.php
334 \\vendor\zendframework\zend-stratigility\src\Http\Response.php
335 \\vendor\zendframework\zend-stratigility\src\Http\ResponseInterface.php
336 \\vendor\zendframework\zend-stratigility\src\Next.php
337 \\vendor\http-interop\http-middleware\src\DelegateInterface.php
338 \\vendor\zendframework\zend-stratigility\src\Dispatch.php
339 \\vendor\symfony\http-foundation\Session\Session.php
340 \\vendor\symfony\http-foundation\Session\SessionInterface.php
341 \\vendor\symfony\http-foundation\Session\Storage\NativeSessionStorage.php
342 \\vendor\symfony\http-foundation\Session\Storage\SessionStorageInterface.php
343 \\vendor\symfony\http-foundation\Session\Storage\MetadataBag.php
344 \\vendor\symfony\http-foundation\Session\SessionBagInterface.php
345 \\vendor\symfony\http-foundation\Session\Storage\Proxy\SessionHandlerProxy.php
346 \\vendor\symfony\http-foundation\Session\Storage\Proxy\AbstractProxy.php
347 \\vendor\symfony\http-foundation\Session\Attribute\AttributeBag.php
348 \\vendor\symfony\http-foundation\Session\Attribute\AttributeBagInterface.php
349 \\vendor\symfony\http-foundation\Session\Flash\FlashBag.php
350 \\vendor\symfony\http-foundation\Session\Flash\FlashBagInterface.php
351 \\vendor\flarum\core\src\Http\AccessToken.php
352 \\vendor\flarum\core\src\Event\ConfigureModelDefaultAttributes.php
353 \\vendor\flarum\core\src\Event\GetModelRelationship.php
354 \\vendor\illuminate\database\Eloquent\Builder.php
355 \\vendor\illuminate\database\Eloquent\Collection.php
356 \\vendor\flarum\core\src\Event\ConfigureModelDates.php
357 \\vendor\flarum\core\src\Event\ConfigureUserPreferences.php
358 \\vendor\nesbot\carbon\src\Carbon\Carbon.php
359 \\vendor\nikic\fast-route\src\Dispatcher\GroupCountBased.php
360 \\vendor\nikic\fast-route\src\Dispatcher\RegexBasedAbstract.php
361 \\vendor\nikic\fast-route\src\Dispatcher.php
362 \\vendor\flarum\core\src\Forum\Controller\IndexController.php
363 \\vendor\flarum\core\src\Forum\Controller\WebAppController.php
364 \\vendor\flarum\core\src\Http\Controller\AbstractWebAppController.php
365 \\vendor\flarum\core\src\Http\Controller\AbstractHtmlController.php
366 \\vendor\flarum\core\src\Forum\WebApp.php
367 \\vendor\flarum\core\src\Http\WebApp\AbstractWebApp.php
368 \\vendor\flarum\core\src\Http\WebApp\WebAppAssetsFactory.php
369 \\vendor\flarum\core\src\Http\WebApp\WebAppViewFactory.php
370 \\vendor\flarum\core\src\Api\Client.php
371 \\vendor\flarum\core\src\Api\ErrorHandler.php
372 \\vendor\tobscure\json-api\src\ErrorHandler.php
373 \\vendor\flarum\core\src\Api\Handler\FloodingExceptionHandler.php
374 \\vendor\tobscure\json-api\src\Exception\Handler\ExceptionHandlerInterface.php
375 \\vendor\flarum\core\src\Api\Handler\IlluminateValidationExceptionHandler.php
376 \\vendor\flarum\core\src\Api\Handler\InvalidAccessTokenExceptionHandler.php
377 \\vendor\flarum\core\src\Api\Handler\InvalidConfirmationTokenExceptionHandler.php
378 \\vendor\flarum\core\src\Api\Handler\MethodNotAllowedExceptionHandler.php
379 \\vendor\flarum\core\src\Api\Handler\ModelNotFoundExceptionHandler.php
380 \\vendor\flarum\core\src\Api\Handler\PermissionDeniedExceptionHandler.php
381 \\vendor\flarum\core\src\Api\Handler\RouteNotFoundExceptionHandler.php
382 \\vendor\flarum\core\src\Api\Handler\TokenMismatchExceptionHandler.php
383 \\vendor\flarum\core\src\Api\Handler\ValidationExceptionHandler.php
384 \\vendor\tobscure\json-api\src\Exception\Handler\InvalidParameterExceptionHandler.php
385 \\vendor\tobscure\json-api\src\Exception\Handler\FallbackExceptionHandler.php
386 \\vendor\flarum\core\src\Api\Serializer\CurrentUserSerializer.php
387 \\vendor\flarum\core\src\Api\Serializer\UserSerializer.php
388 \\vendor\flarum\core\src\Api\Serializer\UserBasicSerializer.php
389 \\vendor\flarum\core\src\Http\WebApp\WebAppAssets.php
390 \\vendor\flarum\core\src\Http\WebApp\WebAppView.php
391 \\vendor\flarum\core\src\Asset\JsCompiler.php
392 \\vendor\flarum\core\src\Asset\RevisionCompiler.php
393 \\vendor\flarum\core\src\Asset\CompilerInterface.php
394 \\vendor\flarum\core\src\Asset\LessCompiler.php
395 \\vendor\flarum\core\src\Locale\JsCompiler.php
396 \\vendor\symfony\translation\MessageCatalogue.php
397 \\vendor\symfony\translation\MessageCatalogueInterface.php
398 \\vendor\symfony\translation\MetadataAwareInterface.php
399 \\vendor\symfony\yaml\Parser.php
400 \\vendor\symfony\yaml\Inline.php
401 \\vendor\symfony\yaml\Unescaper.php
402 \\vendor\flarum\core\src\Api\Controller\ListDiscussionsController.php
403 \\vendor\flarum\core\src\Api\Controller\AbstractCollectionController.php
404 \\vendor\flarum\core\src\Core\Search\Discussion\DiscussionSearcher.php
405 \\vendor\flarum\core\src\Core\Search\ApplySearchParametersTrait.php
406 \\vendor\flarum\core\src\Core\Search\GambitManager.php
407 \\vendor\flarum\core\src\Event\ConfigureDiscussionGambits.php
408 \\vendor\flarum\core\src\Event\AbstractConfigureGambits.php
409 \\vendor\flarum\core\src\Core\Repository\DiscussionRepository.php
410 \\vendor\flarum\core\src\Api\UrlGenerator.php
411 \\vendor\tobscure\json-api\src\Document.php
412 \\vendor\tobscure\json-api\src\LinksTrait.php
413 \\vendor\tobscure\json-api\src\MetaTrait.php
414 \\vendor\flarum\core\src\Event\ConfigureApiController.php
415 \\vendor\tobscure\json-api\src\Parameters.php
416 \\vendor\flarum\core\src\Core\Search\SearchCriteria.php
417 \\vendor\flarum\core\src\Core\Discussion.php
418 \\vendor\flarum\core\src\Event\ScopeModelVisibility.php
419 \\vendor\flarum\core\src\Core\Group.php
420 \\vendor\illuminate\database\Eloquent\Relations\BelongsToMany.php
421 \\vendor\illuminate\database\Eloquent\Relations\Relation.php
422 \\vendor\illuminate\database\Query\JoinClause.php
423 \\vendor\illuminate\database\Eloquent\Relations\Pivot.php
424 \\vendor\illuminate\database\Query\Expression.php
425 \\vendor\flarum\flarum-ext-tags\src\Tag.php
426 \\vendor\illuminate\database\Eloquent\Relations\BelongsTo.php
427 \\vendor\flarum\core\src\Event\ScopePrivateDiscussionVisibility.php
428 \\vendor\flarum\core\src\Event\GetPermission.php
429 \\vendor\flarum\core\src\Core\Search\Discussion\DiscussionSearch.php
430 \\vendor\flarum\core\src\Core\Search\AbstractSearch.php
431 \\vendor\flarum\core\src\Core\Search\Discussion\Gambit\AuthorGambit.php
432 \\vendor\flarum\core\src\Core\Search\AbstractRegexGambit.php
433 \\vendor\flarum\core\src\Core\Search\GambitInterface.php
434 \\vendor\flarum\core\src\Core\Search\Discussion\Gambit\CreatedGambit.php
435 \\vendor\flarum\core\src\Core\Search\Discussion\Gambit\HiddenGambit.php
436 \\vendor\flarum\core\src\Core\Search\Discussion\Gambit\UnreadGambit.php
437 \\vendor\flarum\flarum-ext-lock\src\Gambit\LockedGambit.php
438 \\vendor\flarum\flarum-ext-sticky\src\Gambit\StickyGambit.php
439 \\vendor\flarum\flarum-ext-subscriptions\src\Gambit\SubscriptionGambit.php
440 \\vendor\flarum\flarum-ext-tags\src\Gambit\TagGambit.php
441 \\vendor\flarum\flarum-ext-tags\src\TagRepository.php
442 \\vendor\flarum\core\src\Event\ConfigureDiscussionSearch.php
443 \\vendor\flarum\core\src\Core\Post\RegisteredTypesScope.php
444 \\vendor\illuminate\database\Eloquent\ScopeInterface.php
445 \\vendor\flarum\flarum-ext-tags\src\TagState.php
446 \\vendor\illuminate\database\Eloquent\Relations\HasOne.php
447 \\vendor\illuminate\database\Eloquent\Relations\HasOneOrMany.php
448 \\vendor\flarum\core\src\Core\DiscussionState.php
449 \\vendor\flarum\core\src\Core\Search\SearchResults.php
450 \\vendor\flarum\core\src\Event\PrepareApiData.php
451 \\vendor\flarum\core\src\Api\Serializer\DiscussionSerializer.php
452 \\vendor\flarum\core\src\Api\Serializer\DiscussionBasicSerializer.php
453 \\vendor\tobscure\json-api\src\Collection.php
454 \\vendor\tobscure\json-api\src\ElementInterface.php
455 \\vendor\tobscure\json-api\src\Resource.php
456 \\vendor\flarum\core\src\Api\JsonApiResponse.php
457 \\vendor\zendframework\zend-diactoros\src\Response\JsonResponse.php
458 \\vendor\zendframework\zend-diactoros\src\Response\InjectContentTypeTrait.php
459 \\vendor\flarum\core\src\Event\PrepareApiAttributes.php
460 \\vendor\tobscure\json-api\src\Util.php
461 \\vendor\flarum\core\src\Event\GetApiRelationship.php
462 \\vendor\tobscure\json-api\src\Relationship.php
463 \\vendor\flarum\core\src\Api\Serializer\PostBasicSerializer.php
464 \\vendor\flarum\flarum-ext-tags\src\Api\Serializer\TagSerializer.php
465 \\storage\formatter\Renderer_ae5f71c0360c13da41e2da639984171533ca7491.php
466 \\vendor\s9e\text-formatter\src\Renderer.php
467 \\vendor\flarum\core\src\Event\ConfigureFormatterRenderer.php
468 \\vendor\illuminate\view\View.php
469 \\vendor\illuminate\contracts\View\View.php
470 \\vendor\illuminate\contracts\Support\Renderable.php
471 \\vendor\illuminate\view\Engines\CompilerEngine.php
472 \\vendor\illuminate\view\Engines\PhpEngine.php
473 \\vendor\illuminate\view\Engines\EngineInterface.php
474 \\vendor\illuminate\view\Compilers\BladeCompiler.php
475 \\vendor\illuminate\view\Compilers\Compiler.php
476 \\vendor\illuminate\view\Compilers\CompilerInterface.php
477 \\vendor\flarum\core\src\Event\ConfigureClientView.php
478 \\vendor\flarum\core\src\Event\ConfigureWebApp.php
479 \\vendor\flarum\core\src\Api\Controller\ShowForumController.php
480 \\vendor\flarum\core\src\Api\Controller\AbstractResourceController.php
481 \\vendor\flarum\core\src\Api\Serializer\ForumSerializer.php
482 \\vendor\flarum\flarum-ext-flags\src\Flag.php
483 \\vendor\flarum\core\src\Api\Serializer\GroupSerializer.php
484 \\vendor\illuminate\database\Eloquent\Relations\HasMany.php
485 \\storage\views\219726d0017c7ae14a78c838d8c76498
486 \\storage\views\66278043d9e9bc7a5afec245afac553c
487 \\storage\views\d5d277da1868ee6e6474300b87b9b3fc
488 \\storage\views\5570885baf24def609bef9e8ae8a3a75
tobyzerner commented 5 years ago

@franzliedke any ideas how we would defer inclusion of some of those files by composer, or whether it's even worth doing?

luceos commented 5 years ago

Composer already only loads the files it needs. A few causes for this high amount:

As to lowering the amount. Laravel natively supports deferred service providers, causing the provider to be only loaded when any class in the provides array of the provider is needed. I'm not sure we support that, but applying it to the MailServiceProvider - for instance - would make sense.

gooof commented 5 years ago

Solution for swiftmailer?

  1. Remove the __construct in \vendor\flarum\core\src\Core\Notification\NotificationMailer.php
  2. Remove the Mailer from __construct in \vendor\flarum\core\src\Core\Listener\EmailConfirmationMailer.php = -22 files (466 total (422 api))
franzliedke commented 5 years ago

@gooof Thanks for raising this issue. I will have a look at this for the next beta release after the upcoming beta.8. Out of interest: a) how did you notice this, and b) what did you use to get the list of included files?

Re. service providers: At Laracon, I talked to Taylor about deferred service providers. He agreed they are mostly useless nowadays, and might be removed in a future release. (Memory savings - probably not, CPU cycle savings - meh.) They won't help much with this problem anyway: with well-written service providers, you will only avoid loading the service providers itself. Thanks to the IoC container, services that aren't needed for a request should not be instantiated, and thus not loaded.

What we see here is probably due to two things: 1.) some service providers instantiating services that aren't needed on every request, and 2.) the use of event subscribers such as this one - they need to be instantiated in order to register event listeners, which may instantiate other services (such as the mailer) that aren't needed very often.

Not very hard to fix, but we'll have to go through all service providers and extensions.

gooof commented 5 years ago

@franzliedke I notice that the API need 0.2sec to load my 3 groups on localhost and that every page has the same response time. While finding out from what the slowness comes, I'll use get_included_files() before the output happens. I also wrote a little debugger that show all sql queries, included files and times, so if a page is loading too long, I got a warning (to find (security) bugs). ~150 small included files normally = >0.05sec

A hack is using a own class that call a class only if its really called. __construct(Mailer $mailer) -> $this->mailer = $mailer; becomes: $this->mailer = $pseudo('mailer'); if someone called $this->mailer->send() the class check if "new mailer()" already loaded, if not he is include/loading it. Like this: https://github.com/marc1706/fast-image-size/pull/49/files

Extensions have a similar problem, in the bootstrap.php should be the event name defined where the class is required. Or the subscribe() function should be in bootstrap.php. But I wait for 0.8 to test this.

clarkwinkelmann commented 5 years ago

To add to the NotificationMailer case, I noticed that NotificationSyncer (which depends on the mailer) is included multiple times in listener constructors in core extensions (likes, suspend, ...) and are therefore unnecessarily loaded for every single request.

Most Laravel providers (including the mailer) already use singletons that should ideally never resolve if the feature isn't actually used. Right now it's not the case as email drivers are loaded for every request because of the above...

franzliedke commented 5 years ago

@gooof Can I ask you to share your setup that got you the list of included files in your original post? I am asking so that I can get something reproducible to test my progress. :smiley:

dsevillamartin commented 4 years ago

@gooof If you could provide the script that you used to test load time and included files, that would be great 🙂.

I tried to get the included files myself as well. This is the output of get_included_files running after the route handler is executed. Running 98464a8a3314a22b9a6bb4ea127ad0a6b296396b, though should be the same output as with 9640dd6419f05a41c25b88992649f4f8fdbc6966.

Included Files / No Extensions (497) ``` ./public/index.php ./vendor/autoload.php ./vendor/composer/autoload_real.php ./vendor/composer/ClassLoader.php ./vendor/composer/autoload_static.php ./vendor/symfony/polyfill-ctype/bootstrap.php ./vendor/symfony/polyfill-mbstring/bootstrap.php ./vendor/symfony/polyfill-php73/bootstrap.php ./vendor/illuminate/support/helpers.php ./vendor/zendframework/zend-diactoros/src/functions/create_uploaded_file.php ./vendor/zendframework/zend-diactoros/src/functions/marshal_headers_from_sapi.php ./vendor/zendframework/zend-diactoros/src/functions/marshal_method_from_sapi.php ./vendor/zendframework/zend-diactoros/src/functions/marshal_protocol_version_from_sapi.php ./vendor/zendframework/zend-diactoros/src/functions/marshal_uri_from_sapi.php ./vendor/zendframework/zend-diactoros/src/functions/normalize_server.php ./vendor/zendframework/zend-diactoros/src/functions/normalize_uploaded_files.php ./vendor/zendframework/zend-diactoros/src/functions/parse_cookie_header.php ./vendor/symfony/polyfill-php72/bootstrap.php ./vendor/symfony/polyfill-intl-idn/bootstrap.php ./vendor/ralouphie/getallheaders/src/getallheaders.php ./vendor/guzzlehttp/psr7/src/functions_include.php ./vendor/guzzlehttp/psr7/src/functions.php ./vendor/opis/closure/functions.php ./vendor/symfony/polyfill-iconv/bootstrap.php ./vendor/swiftmailer/swiftmailer/lib/swift_required.php ./vendor/swiftmailer/swiftmailer/lib/classes/Swift.php ./vendor/nikic/fast-route/src/functions.php ./vendor/zendframework/zend-stratigility/src/functions/double-pass-middleware.php ./vendor/zendframework/zend-stratigility/src/functions/host.php ./vendor/zendframework/zend-stratigility/src/functions/middleware.php ./vendor/zendframework/zend-stratigility/src/functions/path.php ./packages/flarum-core/src/helpers.php ./vendor/guzzlehttp/promises/src/functions_include.php ./vendor/guzzlehttp/promises/src/functions.php ./vendor/guzzlehttp/guzzle/src/functions_include.php ./vendor/guzzlehttp/guzzle/src/functions.php ./vendor/ezyang/htmlpurifier/library/HTMLPurifier.composer.php ./packages/flarum-core/src/Http/Server.php ./packages/flarum-core/src/Foundation/Site.php ./packages/flarum-core/src/Foundation/InstalledSite.php ./packages/flarum-core/src/Foundation/SiteInterface.php ./config.php ./extend.php ./vendor/illuminate/support/Arr.php ./vendor/illuminate/support/Traits/Macroable.php ./packages/flarum-core/src/Foundation/InstalledApp.php ./packages/flarum-core/src/Foundation/AppInterface.php ./packages/flarum-core/src/Foundation/Application.php ./vendor/illuminate/container/Container.php ./vendor/illuminate/contracts/Container/Container.php ./vendor/psr/container/src/ContainerInterface.php ./vendor/illuminate/contracts/Foundation/Application.php ./vendor/illuminate/events/EventServiceProvider.php ./vendor/illuminate/support/ServiceProvider.php ./vendor/illuminate/events/Dispatcher.php ./vendor/illuminate/contracts/Events/Dispatcher.php ./vendor/illuminate/config/Repository.php ./vendor/illuminate/contracts/Config/Repository.php ./vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php ./vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php ./vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php ./vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php ./vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php ./vendor/monolog/monolog/src/Monolog/ResettableInterface.php ./vendor/monolog/monolog/src/Monolog/Logger.php ./vendor/psr/log/Psr/Log/LoggerInterface.php ./vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php ./vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php ./vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php ./packages/flarum-core/src/Admin/AdminServiceProvider.php ./packages/flarum-core/src/Foundation/AbstractServiceProvider.php ./packages/flarum-core/src/Api/ApiServiceProvider.php ./packages/flarum-core/src/Bus/BusServiceProvider.php ./packages/flarum-core/src/Database/DatabaseServiceProvider.php ./packages/flarum-core/src/Discussion/DiscussionServiceProvider.php ./packages/flarum-core/src/Extension/ExtensionServiceProvider.php ./packages/flarum-core/src/Foundation/ErrorServiceProvider.php ./vendor/illuminate/filesystem/FilesystemServiceProvider.php ./packages/flarum-core/src/Formatter/FormatterServiceProvider.php ./packages/flarum-core/src/Forum/ForumServiceProvider.php ./packages/flarum-core/src/Frontend/FrontendServiceProvider.php ./packages/flarum-core/src/Group/GroupServiceProvider.php ./vendor/illuminate/hashing/HashServiceProvider.php ./packages/flarum-core/src/Locale/LocaleServiceProvider.php ./packages/flarum-core/src/Mail/MailServiceProvider.php ./packages/flarum-core/src/Database/MigrationServiceProvider.php ./packages/flarum-core/src/Notification/NotificationServiceProvider.php ./packages/flarum-core/src/Post/PostServiceProvider.php ./packages/flarum-core/src/Queue/QueueServiceProvider.php ./vendor/illuminate/support/Str.php ./packages/flarum-core/src/Search/SearchServiceProvider.php ./vendor/illuminate/container/ContextualBindingBuilder.php ./vendor/illuminate/contracts/Container/ContextualBindingBuilder.php ./packages/flarum-core/src/User/SessionServiceProvider.php ./packages/flarum-core/src/Settings/SettingsServiceProvider.php ./packages/flarum-core/src/Update/UpdateServiceProvider.php ./packages/flarum-core/src/User/UserServiceProvider.php ./vendor/illuminate/validation/ValidationServiceProvider.php ./vendor/illuminate/view/ViewServiceProvider.php ./packages/flarum-core/src/Extension/ExtensionManager.php ./packages/flarum-core/src/Settings/SettingsRepositoryInterface.php ./packages/flarum-core/src/Settings/MemoryCacheSettingsRepository.php ./packages/flarum-core/src/Settings/DatabaseSettingsRepository.php ./vendor/illuminate/database/Capsule/Manager.php ./vendor/illuminate/support/Traits/CapsuleManagerTrait.php ./vendor/illuminate/database/Connectors/ConnectionFactory.php ./vendor/illuminate/database/DatabaseManager.php ./vendor/illuminate/database/ConnectionResolverInterface.php ./vendor/illuminate/database/Eloquent/Model.php ./vendor/illuminate/database/Eloquent/Concerns/HasAttributes.php ./vendor/illuminate/database/Eloquent/Concerns/HasEvents.php ./vendor/illuminate/database/Eloquent/Concerns/HasGlobalScopes.php ./vendor/illuminate/database/Eloquent/Concerns/HasRelationships.php ./vendor/illuminate/database/Eloquent/Concerns/HasTimestamps.php ./vendor/illuminate/database/Eloquent/Concerns/HidesAttributes.php ./vendor/illuminate/database/Eloquent/Concerns/GuardsAttributes.php ./vendor/illuminate/support/Traits/ForwardsCalls.php ./vendor/illuminate/contracts/Support/Arrayable.php ./vendor/illuminate/contracts/Support/Jsonable.php ./vendor/illuminate/contracts/Queue/QueueableEntity.php ./vendor/illuminate/contracts/Routing/UrlRoutable.php ./vendor/illuminate/database/Connection.php ./vendor/illuminate/database/DetectsDeadlocks.php ./vendor/illuminate/database/DetectsLostConnections.php ./vendor/illuminate/database/Concerns/ManagesTransactions.php ./vendor/illuminate/database/ConnectionInterface.php ./vendor/illuminate/database/MySqlConnection.php ./vendor/illuminate/database/Query/Grammars/MySqlGrammar.php ./vendor/illuminate/database/Query/Grammars/Grammar.php ./vendor/illuminate/database/Grammar.php ./vendor/illuminate/database/Query/Processors/MySqlProcessor.php ./vendor/illuminate/database/Query/Processors/Processor.php ./packages/flarum-core/src/Database/Migrator.php ./packages/flarum-core/src/Database/MigrationRepositoryInterface.php ./packages/flarum-core/src/Database/DatabaseMigrationRepository.php ./vendor/illuminate/filesystem/Filesystem.php ./vendor/illuminate/database/Schema/Grammars/MySqlGrammar.php ./vendor/illuminate/database/Schema/Grammars/Grammar.php ./vendor/illuminate/database/Schema/MySqlBuilder.php ./vendor/illuminate/database/Schema/Builder.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOMySql/Driver.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ExceptionConverterDriver.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/VersionAwarePlatformDriver.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Connection.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/TransactionIsolationLevel.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/ParameterType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/FetchMode.php ./vendor/illuminate/database/Connectors/MySqlConnector.php ./vendor/illuminate/database/Connectors/Connector.php ./vendor/illuminate/database/Connectors/ConnectorInterface.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ServerInfoAwareConnection.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Statement.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ResultStatement.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Configuration.php ./vendor/doctrine/event-manager/lib/Doctrine/Common/EventManager.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/Expression/ExpressionBuilder.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/MySqlSchemaManager.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/AbstractSchemaManager.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MariaDb1027Platform.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MySqlPlatform.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/AbstractPlatform.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/DateIntervalUnit.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/TrimMode.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/Type.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ArrayType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/SimpleArrayType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/JsonArrayType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/JsonType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ObjectType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BooleanType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/IntegerType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/PhpIntegerMappingType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/SmallIntType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BigIntType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/StringType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TextType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/PhpDateTimeMappingType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeImmutableType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeTzType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeTzImmutableType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateImmutableType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TimeType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TimeImmutableType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DecimalType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/FloatType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BinaryType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BlobType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/GuidType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateIntervalType.php ./vendor/illuminate/support/Collection.php ./packages/flarum-core/src/Extension/Extension.php ./vendor/illuminate/database/Query/Builder.php ./vendor/illuminate/database/Concerns/BuildsQueries.php ./vendor/illuminate/database/Events/StatementPrepared.php ./vendor/illuminate/database/Events/QueryExecuted.php ./packages/flarum-lock/extend.php ./packages/flarum-core/src/Extend/Frontend.php ./packages/flarum-core/src/Extend/ExtenderInterface.php ./packages/flarum-core/src/Extend/Compat.php ./vendor/illuminate/container/BoundMethod.php ./packages/flarum-lock/src/Access/DiscussionPolicy.php ./packages/flarum-core/src/User/AbstractPolicy.php ./vendor/illuminate/view/Engines/EngineResolver.php ./vendor/illuminate/view/FileViewFinder.php ./vendor/illuminate/view/ViewFinderInterface.php ./vendor/illuminate/view/Factory.php ./vendor/illuminate/view/Concerns/ManagesComponents.php ./vendor/illuminate/view/Concerns/ManagesEvents.php ./vendor/illuminate/view/Concerns/ManagesLayouts.php ./vendor/illuminate/view/Concerns/ManagesLoops.php ./vendor/illuminate/view/Concerns/ManagesStacks.php ./vendor/illuminate/view/Concerns/ManagesTranslations.php ./vendor/illuminate/contracts/View/Factory.php ./packages/flarum-core/src/Event/ConfigureNotificationTypes.php ./packages/flarum-lock/src/Notification/DiscussionLockedBlueprint.php ./packages/flarum-core/src/Notification/Blueprint/BlueprintInterface.php ./packages/flarum-core/src/Api/Serializer/NotificationSerializer.php ./packages/flarum-core/src/Api/Serializer/AbstractSerializer.php ./vendor/tobscure/json-api/src/AbstractSerializer.php ./vendor/tobscure/json-api/src/SerializerInterface.php ./packages/flarum-core/src/Api/Controller/AbstractSerializeController.php ./vendor/psr/http-server-handler/src/RequestHandlerInterface.php ./packages/flarum-core/src/Database/AbstractModel.php ./packages/flarum-core/src/Discussion/DiscussionMetadataUpdater.php ./packages/flarum-core/src/Discussion/DiscussionPolicy.php ./packages/flarum-core/src/User/Gate.php ./vendor/illuminate/contracts/Auth/Access/Gate.php ./packages/flarum-core/src/Locale/Translator.php ./vendor/symfony/translation/Translator.php ./vendor/symfony/translation/TranslatorInterface.php ./vendor/symfony/translation/TranslatorBagInterface.php ./vendor/illuminate/contracts/Translation/Translator.php ./vendor/symfony/translation/Formatter/MessageFormatter.php ./vendor/symfony/translation/Formatter/MessageFormatterInterface.php ./vendor/symfony/translation/Formatter/ChoiceMessageFormatterInterface.php ./vendor/symfony/translation/MessageSelector.php ./packages/flarum-core/src/Locale/PrefixedYamlFileLoader.php ./vendor/symfony/translation/Loader/YamlFileLoader.php ./vendor/symfony/translation/Loader/FileLoader.php ./vendor/symfony/translation/Loader/ArrayLoader.php ./vendor/symfony/translation/Loader/LoaderInterface.php ./packages/flarum-core/src/Http/UrlGenerator.php ./packages/flarum-core/src/Http/RouteCollection.php ./vendor/nikic/fast-route/src/DataGenerator/GroupCountBased.php ./vendor/nikic/fast-route/src/DataGenerator/RegexBasedAbstract.php ./vendor/nikic/fast-route/src/DataGenerator.php ./vendor/nikic/fast-route/src/RouteParser/Std.php ./vendor/nikic/fast-route/src/RouteParser.php ./packages/flarum-core/src/Http/RouteHandlerFactory.php ./packages/flarum-core/src/Admin/routes.php ./packages/flarum-core/src/Http/RouteCollectionUrlGenerator.php ./packages/flarum-core/src/Api/routes.php ./vendor/nikic/fast-route/src/Route.php ./packages/flarum-core/src/Event/ConfigureApiRoutes.php ./packages/flarum-core/src/Event/AbstractConfigureRoutes.php ./packages/flarum-core/src/Forum/routes.php ./packages/flarum-core/src/Event/ConfigureForumRoutes.php ./packages/flarum-core/src/Group/GroupPolicy.php ./packages/flarum-core/src/Notification/Notification.php ./packages/flarum-core/src/Notification/Blueprint/DiscussionRenamedBlueprint.php ./packages/flarum-core/src/User/User.php ./packages/flarum-core/src/Foundation/EventGeneratorTrait.php ./packages/flarum-core/src/Database/ScopeVisibilityTrait.php ./packages/flarum-core/src/Notification/MailableInterface.php ./packages/flarum-core/src/Post/CommentPost.php ./packages/flarum-core/src/Post/Post.php ./packages/flarum-core/src/Formatter/Formatter.php ./vendor/illuminate/cache/Repository.php ./vendor/illuminate/support/InteractsWithTime.php ./vendor/illuminate/contracts/Cache/Repository.php ./vendor/psr/simple-cache/src/CacheInterface.php ./vendor/illuminate/cache/FileStore.php ./vendor/illuminate/cache/RetrievesMultipleKeys.php ./vendor/illuminate/contracts/Cache/Store.php ./packages/flarum-core/src/Event/ConfigurePostTypes.php ./packages/flarum-core/src/Post/DiscussionRenamedPost.php ./packages/flarum-core/src/Post/AbstractEventPost.php ./packages/flarum-core/src/Post/MergeableInterface.php ./packages/flarum-lock/src/Post/DiscussionLockedPost.php ./packages/flarum-core/src/Post/PostPolicy.php ./vendor/illuminate/hashing/HashManager.php ./vendor/illuminate/support/Manager.php ./vendor/illuminate/contracts/Hashing/Hasher.php ./packages/flarum-core/src/User/UserMetadataUpdater.php ./packages/flarum-core/src/User/UserPolicy.php ./vendor/zendframework/zend-httphandlerrunner/src/RequestHandlerRunner.php ./vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php ./vendor/zendframework/zend-stratigility/src/MiddlewarePipeInterface.php ./vendor/psr/http-server-middleware/src/MiddlewareInterface.php ./vendor/middlewares/base-path/src/BasePath.php ./vendor/zendframework/zend-stratigility/src/Middleware/OriginalMessages.php ./vendor/middlewares/base-path-router/src/BasePathRouter.php ./vendor/middlewares/request-handler/src/RequestHandler.php ./vendor/zendframework/zend-httphandlerrunner/src/Emitter/SapiEmitter.php ./vendor/zendframework/zend-httphandlerrunner/src/Emitter/SapiEmitterTrait.php ./vendor/zendframework/zend-httphandlerrunner/src/Emitter/EmitterInterface.php ./vendor/zendframework/zend-diactoros/src/ServerRequestFactory.php ./vendor/zendframework/zend-diactoros/src/ServerRequest.php ./vendor/zendframework/zend-diactoros/src/RequestTrait.php ./vendor/zendframework/zend-diactoros/src/MessageTrait.php ./vendor/psr/http-message/src/ServerRequestInterface.php ./vendor/psr/http-message/src/RequestInterface.php ./vendor/psr/http-message/src/MessageInterface.php ./vendor/zendframework/zend-diactoros/src/Uri.php ./vendor/psr/http-message/src/UriInterface.php ./vendor/zendframework/zend-diactoros/src/PhpInputStream.php ./vendor/zendframework/zend-diactoros/src/Stream.php ./vendor/psr/http-message/src/StreamInterface.php ./vendor/zendframework/zend-diactoros/src/HeaderSecurity.php ./vendor/zendframework/zend-stratigility/src/EmptyPipelineHandler.php ./vendor/zendframework/zend-stratigility/src/Next.php ./packages/flarum-core/src/Http/Middleware/HandleErrors.php ./packages/flarum-core/src/Foundation/ErrorHandling/Registry.php ./packages/flarum-core/src/Foundation/ErrorHandling/ViewFormatter.php ./packages/flarum-core/src/Foundation/ErrorHandling/HttpFormatter.php ./packages/flarum-core/src/Foundation/ErrorHandling/LogReporter.php ./packages/flarum-core/src/Foundation/ErrorHandling/Reporter.php ./packages/flarum-core/src/Http/Middleware/ParseJsonBody.php ./packages/flarum-core/src/Http/Middleware/CollectGarbage.php ./vendor/illuminate/session/FileSessionHandler.php ./packages/flarum-core/src/Http/Middleware/StartSession.php ./packages/flarum-core/src/Http/CookieFactory.php ./packages/flarum-core/src/Http/Middleware/RememberFromCookie.php ./packages/flarum-core/src/Http/Middleware/AuthenticateWithSession.php ./packages/flarum-core/src/Http/Middleware/CheckCsrfToken.php ./packages/flarum-core/src/Http/Middleware/SetLocale.php ./packages/flarum-core/src/Locale/LocaleManager.php ./packages/flarum-core/src/Event/ConfigureLocales.php ./packages/flarum-core/src/Http/Middleware/ShareErrorsFromSession.php ./packages/flarum-core/src/Event/ConfigureMiddleware.php ./packages/flarum-core/src/Http/Middleware/DispatchRoute.php ./vendor/illuminate/session/Store.php ./vendor/illuminate/contracts/Session/Session.php ./vendor/illuminate/support/Carbon.php ./vendor/nesbot/carbon/src/Carbon/Carbon.php ./packages/flarum-core/src/Http/AccessToken.php ./packages/flarum-core/src/Event/ConfigureModelDefaultAttributes.php ./packages/flarum-core/src/Event/GetModelRelationship.php ./vendor/illuminate/database/Eloquent/Builder.php ./vendor/illuminate/database/Eloquent/Concerns/QueriesRelationships.php ./vendor/illuminate/support/Pluralizer.php ./vendor/doctrine/inflector/lib/Doctrine/Common/Inflector/Inflector.php ./vendor/illuminate/database/Eloquent/Collection.php ./vendor/illuminate/contracts/Queue/QueueableCollection.php ./packages/flarum-core/src/Event/ConfigureModelDates.php ./packages/flarum-core/src/Event/ConfigureUserPreferences.php ./vendor/illuminate/support/ViewErrorBag.php ./vendor/nikic/fast-route/src/Dispatcher/GroupCountBased.php ./vendor/nikic/fast-route/src/Dispatcher/RegexBasedAbstract.php ./vendor/nikic/fast-route/src/Dispatcher.php ./packages/flarum-core/src/Frontend/Frontend.php ./packages/flarum-core/src/Api/Client.php ./packages/flarum-core/src/Frontend/Content/Assets.php ./packages/flarum-core/src/Frontend/Assets.php ./vendor/illuminate/filesystem/FilesystemManager.php ./vendor/illuminate/contracts/Filesystem/Factory.php ./vendor/league/flysystem/src/Adapter/Local.php ./vendor/league/flysystem/src/Adapter/AbstractAdapter.php ./vendor/league/flysystem/src/AdapterInterface.php ./vendor/league/flysystem/src/ReadInterface.php ./vendor/league/flysystem/src/Filesystem.php ./vendor/league/flysystem/src/Plugin/PluggableTrait.php ./vendor/league/flysystem/src/ConfigAwareTrait.php ./vendor/league/flysystem/src/FilesystemInterface.php ./vendor/league/flysystem/src/Util.php ./vendor/league/flysystem/src/Config.php ./vendor/illuminate/filesystem/FilesystemAdapter.php ./vendor/illuminate/contracts/Filesystem/Filesystem.php ./vendor/illuminate/contracts/Filesystem/Cloud.php ./packages/flarum-core/src/Frontend/AddTranslations.php ./packages/flarum-core/src/Frontend/AddLocaleAssets.php ./packages/flarum-core/src/Frontend/Content/CorePayload.php ./packages/flarum-core/src/Frontend/Content/Meta.php ./packages/flarum-core/src/Forum/Content/Index.php ./packages/flarum-core/src/Frontend/Controller.php ./vendor/zendframework/zend-diactoros/src/Response/HtmlResponse.php ./vendor/zendframework/zend-diactoros/src/Response.php ./vendor/psr/http-message/src/ResponseInterface.php ./vendor/zendframework/zend-diactoros/src/Response/InjectContentTypeTrait.php ./packages/flarum-core/src/Api/Controller/ShowForumController.php ./packages/flarum-core/src/Api/Controller/AbstractShowController.php ./vendor/tobscure/json-api/src/Document.php ./vendor/tobscure/json-api/src/LinksTrait.php ./vendor/tobscure/json-api/src/MetaTrait.php ./packages/flarum-core/src/Api/Event/WillGetData.php ./packages/flarum-core/src/Group/Group.php ./packages/flarum-core/src/Event/ScopeModelVisibility.php ./packages/flarum-core/src/Api/Event/WillSerializeData.php ./packages/flarum-core/src/Api/Serializer/ForumSerializer.php ./vendor/tobscure/json-api/src/Resource.php ./vendor/tobscure/json-api/src/ElementInterface.php ./vendor/tobscure/json-api/src/Parameters.php ./packages/flarum-core/src/Api/JsonApiResponse.php ./vendor/zendframework/zend-diactoros/src/Response/JsonResponse.php ./packages/flarum-core/src/Event/GetPermission.php ./vendor/illuminate/database/Eloquent/Relations/BelongsToMany.php ./vendor/illuminate/database/Eloquent/Relations/Relation.php ./vendor/illuminate/database/Eloquent/Relations/Concerns/InteractsWithPivotTable.php ./vendor/illuminate/database/Query/JoinClause.php ./vendor/illuminate/database/Eloquent/Relations/Pivot.php ./vendor/illuminate/database/Eloquent/Relations/Concerns/AsPivot.php ./packages/flarum-core/src/Api/Event/Serializing.php ./packages/flarum-lock/src/Listener/AddDiscussionLockedAttributes.php ./vendor/illuminate/contracts/Queue/ShouldQueue.php ./vendor/tobscure/json-api/src/Util.php ./packages/flarum-core/src/Event/GetApiRelationship.php ./packages/flarum-core/src/Api/Serializer/GroupSerializer.php ./vendor/tobscure/json-api/src/Collection.php ./vendor/tobscure/json-api/src/Relationship.php ./vendor/symfony/config/ConfigCacheFactory.php ./vendor/symfony/config/ConfigCacheFactoryInterface.php ./vendor/symfony/config/ConfigCache.php ./vendor/symfony/config/ResourceCheckerConfigCache.php ./vendor/symfony/config/ConfigCacheInterface.php ./storage/locale/catalogue.en.52lf549.php ./vendor/symfony/translation/MessageCatalogue.php ./vendor/symfony/translation/MessageCatalogueInterface.php ./vendor/symfony/translation/MetadataAwareInterface.php ./packages/flarum-core/src/Frontend/Document.php ./vendor/illuminate/contracts/Support/Renderable.php ./packages/flarum-core/src/Frontend/Compiler/JsCompiler.php ./packages/flarum-core/src/Frontend/Compiler/RevisionCompiler.php ./packages/flarum-core/src/Frontend/Compiler/CompilerInterface.php ./packages/flarum-core/src/Frontend/Compiler/LessCompiler.php ./packages/flarum-core/src/Api/Controller/ShowUserController.php ./packages/flarum-core/src/User/UserRepository.php ./packages/flarum-core/src/Api/Serializer/CurrentUserSerializer.php ./packages/flarum-core/src/Api/Serializer/UserSerializer.php ./packages/flarum-core/src/Api/Serializer/BasicUserSerializer.php ./packages/flarum-core/src/User/Event/GetDisplayName.php ./vendor/illuminate/database/Eloquent/Relations/HasMany.php ./vendor/illuminate/database/Eloquent/Relations/HasOneOrMany.php ./vendor/illuminate/database/Query/Expression.php ./packages/flarum-core/src/Discussion/Discussion.php ./packages/flarum-core/src/Api/Controller/ListDiscussionsController.php ./packages/flarum-core/src/Api/Controller/AbstractListController.php ./packages/flarum-core/src/Discussion/Search/DiscussionSearcher.php ./packages/flarum-core/src/Search/ApplySearchParametersTrait.php ./packages/flarum-core/src/Search/GambitManager.php ./packages/flarum-core/src/Event/ConfigureDiscussionGambits.php ./packages/flarum-core/src/Event/AbstractConfigureGambits.php ./packages/flarum-core/src/Discussion/DiscussionRepository.php ./packages/flarum-core/src/Search/SearchCriteria.php ./packages/flarum-core/src/Discussion/Search/DiscussionSearch.php ./packages/flarum-core/src/Search/AbstractSearch.php ./packages/flarum-core/src/Discussion/Search/Gambit/AuthorGambit.php ./packages/flarum-core/src/Search/AbstractRegexGambit.php ./packages/flarum-core/src/Search/GambitInterface.php ./packages/flarum-core/src/Discussion/Search/Gambit/CreatedGambit.php ./packages/flarum-core/src/Discussion/Search/Gambit/HiddenGambit.php ./packages/flarum-core/src/Discussion/Search/Gambit/UnreadGambit.php ./packages/flarum-lock/src/Gambit/LockedGambit.php ./packages/flarum-core/src/Discussion/Event/Searching.php ./packages/flarum-core/src/Search/SearchResults.php ./vendor/illuminate/database/Eloquent/Relations/BelongsTo.php ./vendor/illuminate/database/Eloquent/Relations/Concerns/SupportsDefaultModels.php ./packages/flarum-core/src/Post/RegisteredTypesScope.php ./vendor/illuminate/database/Eloquent/Scope.php ./packages/flarum-core/src/Discussion/UserState.php ./vendor/illuminate/database/Eloquent/Relations/HasOne.php ./packages/flarum-core/src/Api/Serializer/DiscussionSerializer.php ./packages/flarum-core/src/Api/Serializer/BasicDiscussionSerializer.php ./vendor/nesbot/carbon/src/Carbon/CarbonInterval.php ./vendor/illuminate/view/ViewName.php ./vendor/illuminate/view/View.php ./vendor/illuminate/contracts/View/View.php ./vendor/illuminate/view/Engines/CompilerEngine.php ./vendor/illuminate/view/Engines/PhpEngine.php ./vendor/illuminate/contracts/View/Engine.php ./vendor/illuminate/view/Compilers/BladeCompiler.php ./vendor/illuminate/view/Compilers/Compiler.php ./vendor/illuminate/view/Compilers/Concerns/CompilesAuthorizations.php ./vendor/illuminate/view/Compilers/Concerns/CompilesComments.php ./vendor/illuminate/view/Compilers/Concerns/CompilesComponents.php ./vendor/illuminate/view/Compilers/Concerns/CompilesConditionals.php ./vendor/illuminate/view/Compilers/Concerns/CompilesEchos.php ./vendor/illuminate/view/Compilers/Concerns/CompilesHelpers.php ./vendor/illuminate/view/Compilers/Concerns/CompilesIncludes.php ./vendor/illuminate/view/Compilers/Concerns/CompilesInjections.php ./vendor/illuminate/view/Compilers/Concerns/CompilesJson.php ./vendor/illuminate/view/Compilers/Concerns/CompilesLayouts.php ./vendor/illuminate/view/Compilers/Concerns/CompilesLoops.php ./vendor/illuminate/view/Compilers/Concerns/CompilesRawPhp.php ./vendor/illuminate/view/Compilers/Concerns/CompilesStacks.php ./vendor/illuminate/view/Compilers/Concerns/CompilesTranslations.php ./vendor/illuminate/view/Compilers/CompilerInterface.php ./storage/views/84bf907b90435078790b36d1aed3ad15642dfc9f.php ./storage/views/963f4e214cb9adbd911969c2d67268db3b1e9b1f.php ./storage/views/9f3e45173d033662710cdc7179b8be4b49727c8d.php ./storage/views/e1febff140dece56c3ff5ac9515eec9fbee740f9.php ```
Included Files / No Extensions / Debug (621) ``` ./public/index.php ./vendor/autoload.php ./vendor/composer/autoload_real.php ./vendor/composer/ClassLoader.php ./vendor/composer/autoload_static.php ./vendor/symfony/polyfill-ctype/bootstrap.php ./vendor/symfony/polyfill-mbstring/bootstrap.php ./vendor/symfony/polyfill-php73/bootstrap.php ./vendor/illuminate/support/helpers.php ./vendor/zendframework/zend-diactoros/src/functions/create_uploaded_file.php ./vendor/zendframework/zend-diactoros/src/functions/marshal_headers_from_sapi.php ./vendor/zendframework/zend-diactoros/src/functions/marshal_method_from_sapi.php ./vendor/zendframework/zend-diactoros/src/functions/marshal_protocol_version_from_sapi.php ./vendor/zendframework/zend-diactoros/src/functions/marshal_uri_from_sapi.php ./vendor/zendframework/zend-diactoros/src/functions/normalize_server.php ./vendor/zendframework/zend-diactoros/src/functions/normalize_uploaded_files.php ./vendor/zendframework/zend-diactoros/src/functions/parse_cookie_header.php ./vendor/symfony/polyfill-php72/bootstrap.php ./vendor/symfony/polyfill-intl-idn/bootstrap.php ./vendor/ralouphie/getallheaders/src/getallheaders.php ./vendor/guzzlehttp/psr7/src/functions_include.php ./vendor/guzzlehttp/psr7/src/functions.php ./vendor/opis/closure/functions.php ./vendor/symfony/polyfill-iconv/bootstrap.php ./vendor/swiftmailer/swiftmailer/lib/swift_required.php ./vendor/swiftmailer/swiftmailer/lib/classes/Swift.php ./vendor/nikic/fast-route/src/functions.php ./vendor/zendframework/zend-stratigility/src/functions/double-pass-middleware.php ./vendor/zendframework/zend-stratigility/src/functions/host.php ./vendor/zendframework/zend-stratigility/src/functions/middleware.php ./vendor/zendframework/zend-stratigility/src/functions/path.php ./packages/flarum-core/src/helpers.php ./vendor/guzzlehttp/promises/src/functions_include.php ./vendor/guzzlehttp/promises/src/functions.php ./vendor/guzzlehttp/guzzle/src/functions_include.php ./vendor/guzzlehttp/guzzle/src/functions.php ./vendor/ezyang/htmlpurifier/library/HTMLPurifier.composer.php ./packages/flarum-core/src/Http/Server.php ./packages/flarum-core/src/Foundation/Site.php ./packages/flarum-core/src/Foundation/InstalledSite.php ./packages/flarum-core/src/Foundation/SiteInterface.php ./config.php ./extend.php ./vendor/illuminate/support/Arr.php ./vendor/illuminate/support/Traits/Macroable.php ./packages/flarum-core/src/Foundation/InstalledApp.php ./packages/flarum-core/src/Foundation/AppInterface.php ./packages/flarum-core/src/Foundation/Application.php ./vendor/illuminate/container/Container.php ./vendor/illuminate/contracts/Container/Container.php ./vendor/psr/container/src/ContainerInterface.php ./vendor/illuminate/contracts/Foundation/Application.php ./vendor/illuminate/events/EventServiceProvider.php ./vendor/illuminate/support/ServiceProvider.php ./vendor/illuminate/events/Dispatcher.php ./vendor/illuminate/contracts/Events/Dispatcher.php ./vendor/illuminate/config/Repository.php ./vendor/illuminate/contracts/Config/Repository.php ./vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php ./vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php ./vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php ./vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php ./vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php ./vendor/monolog/monolog/src/Monolog/ResettableInterface.php ./vendor/monolog/monolog/src/Monolog/Logger.php ./vendor/psr/log/Psr/Log/LoggerInterface.php ./vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php ./vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php ./vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php ./packages/flarum-core/src/Admin/AdminServiceProvider.php ./packages/flarum-core/src/Foundation/AbstractServiceProvider.php ./packages/flarum-core/src/Api/ApiServiceProvider.php ./packages/flarum-core/src/Bus/BusServiceProvider.php ./packages/flarum-core/src/Database/DatabaseServiceProvider.php ./packages/flarum-core/src/Discussion/DiscussionServiceProvider.php ./packages/flarum-core/src/Extension/ExtensionServiceProvider.php ./packages/flarum-core/src/Foundation/ErrorServiceProvider.php ./vendor/illuminate/filesystem/FilesystemServiceProvider.php ./packages/flarum-core/src/Formatter/FormatterServiceProvider.php ./packages/flarum-core/src/Forum/ForumServiceProvider.php ./packages/flarum-core/src/Frontend/FrontendServiceProvider.php ./packages/flarum-core/src/Group/GroupServiceProvider.php ./vendor/illuminate/hashing/HashServiceProvider.php ./packages/flarum-core/src/Locale/LocaleServiceProvider.php ./packages/flarum-core/src/Mail/MailServiceProvider.php ./packages/flarum-core/src/Database/MigrationServiceProvider.php ./packages/flarum-core/src/Notification/NotificationServiceProvider.php ./packages/flarum-core/src/Post/PostServiceProvider.php ./packages/flarum-core/src/Queue/QueueServiceProvider.php ./vendor/illuminate/support/Str.php ./packages/flarum-core/src/Search/SearchServiceProvider.php ./vendor/illuminate/container/ContextualBindingBuilder.php ./vendor/illuminate/contracts/Container/ContextualBindingBuilder.php ./packages/flarum-core/src/User/SessionServiceProvider.php ./packages/flarum-core/src/Settings/SettingsServiceProvider.php ./packages/flarum-core/src/Update/UpdateServiceProvider.php ./packages/flarum-core/src/User/UserServiceProvider.php ./vendor/illuminate/validation/ValidationServiceProvider.php ./vendor/illuminate/view/ViewServiceProvider.php ./packages/flarum-core/src/Extension/ExtensionManager.php ./packages/flarum-core/src/Settings/SettingsRepositoryInterface.php ./packages/flarum-core/src/Settings/MemoryCacheSettingsRepository.php ./packages/flarum-core/src/Settings/DatabaseSettingsRepository.php ./vendor/illuminate/database/Capsule/Manager.php ./vendor/illuminate/support/Traits/CapsuleManagerTrait.php ./vendor/illuminate/database/Connectors/ConnectionFactory.php ./vendor/illuminate/database/DatabaseManager.php ./vendor/illuminate/database/ConnectionResolverInterface.php ./vendor/illuminate/database/Eloquent/Model.php ./vendor/illuminate/database/Eloquent/Concerns/HasAttributes.php ./vendor/illuminate/database/Eloquent/Concerns/HasEvents.php ./vendor/illuminate/database/Eloquent/Concerns/HasGlobalScopes.php ./vendor/illuminate/database/Eloquent/Concerns/HasRelationships.php ./vendor/illuminate/database/Eloquent/Concerns/HasTimestamps.php ./vendor/illuminate/database/Eloquent/Concerns/HidesAttributes.php ./vendor/illuminate/database/Eloquent/Concerns/GuardsAttributes.php ./vendor/illuminate/support/Traits/ForwardsCalls.php ./vendor/illuminate/contracts/Support/Arrayable.php ./vendor/illuminate/contracts/Support/Jsonable.php ./vendor/illuminate/contracts/Queue/QueueableEntity.php ./vendor/illuminate/contracts/Routing/UrlRoutable.php ./vendor/illuminate/database/Connection.php ./vendor/illuminate/database/DetectsDeadlocks.php ./vendor/illuminate/database/DetectsLostConnections.php ./vendor/illuminate/database/Concerns/ManagesTransactions.php ./vendor/illuminate/database/ConnectionInterface.php ./vendor/illuminate/database/MySqlConnection.php ./vendor/illuminate/database/Query/Grammars/MySqlGrammar.php ./vendor/illuminate/database/Query/Grammars/Grammar.php ./vendor/illuminate/database/Grammar.php ./vendor/illuminate/database/Query/Processors/MySqlProcessor.php ./vendor/illuminate/database/Query/Processors/Processor.php ./packages/flarum-core/src/Database/Migrator.php ./packages/flarum-core/src/Database/MigrationRepositoryInterface.php ./packages/flarum-core/src/Database/DatabaseMigrationRepository.php ./vendor/illuminate/filesystem/Filesystem.php ./vendor/illuminate/database/Schema/Grammars/MySqlGrammar.php ./vendor/illuminate/database/Schema/Grammars/Grammar.php ./vendor/illuminate/database/Schema/MySqlBuilder.php ./vendor/illuminate/database/Schema/Builder.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOMySql/Driver.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ExceptionConverterDriver.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/VersionAwarePlatformDriver.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Connection.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/TransactionIsolationLevel.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/ParameterType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/FetchMode.php ./vendor/illuminate/database/Connectors/MySqlConnector.php ./vendor/illuminate/database/Connectors/Connector.php ./vendor/illuminate/database/Connectors/ConnectorInterface.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ServerInfoAwareConnection.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Statement.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ResultStatement.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Configuration.php ./vendor/doctrine/event-manager/lib/Doctrine/Common/EventManager.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/Expression/ExpressionBuilder.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/MySqlSchemaManager.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/AbstractSchemaManager.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MariaDb1027Platform.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MySqlPlatform.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/AbstractPlatform.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/DateIntervalUnit.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/TrimMode.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/Type.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ArrayType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/SimpleArrayType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/JsonArrayType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/JsonType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ObjectType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BooleanType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/IntegerType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/PhpIntegerMappingType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/SmallIntType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BigIntType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/StringType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TextType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/PhpDateTimeMappingType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeImmutableType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeTzType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeTzImmutableType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateImmutableType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TimeType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TimeImmutableType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DecimalType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/FloatType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BinaryType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BlobType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/GuidType.php ./vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateIntervalType.php ./vendor/illuminate/support/Collection.php ./packages/flarum-core/src/Extension/Extension.php ./vendor/illuminate/database/Query/Builder.php ./vendor/illuminate/database/Concerns/BuildsQueries.php ./vendor/illuminate/database/Events/StatementPrepared.php ./vendor/illuminate/database/Events/QueryExecuted.php ./packages/flarum-lock/extend.php ./packages/flarum-core/src/Extend/Frontend.php ./packages/flarum-core/src/Extend/ExtenderInterface.php ./packages/flarum-core/src/Extend/Compat.php ./vendor/illuminate/container/BoundMethod.php ./packages/flarum-lock/src/Access/DiscussionPolicy.php ./packages/flarum-core/src/User/AbstractPolicy.php ./vendor/illuminate/view/Engines/EngineResolver.php ./vendor/illuminate/view/FileViewFinder.php ./vendor/illuminate/view/ViewFinderInterface.php ./vendor/illuminate/view/Factory.php ./vendor/illuminate/view/Concerns/ManagesComponents.php ./vendor/illuminate/view/Concerns/ManagesEvents.php ./vendor/illuminate/view/Concerns/ManagesLayouts.php ./vendor/illuminate/view/Concerns/ManagesLoops.php ./vendor/illuminate/view/Concerns/ManagesStacks.php ./vendor/illuminate/view/Concerns/ManagesTranslations.php ./vendor/illuminate/contracts/View/Factory.php ./packages/flarum-core/src/Event/ConfigureNotificationTypes.php ./packages/flarum-lock/src/Notification/DiscussionLockedBlueprint.php ./packages/flarum-core/src/Notification/Blueprint/BlueprintInterface.php ./packages/flarum-core/src/Api/Serializer/NotificationSerializer.php ./packages/flarum-core/src/Api/Serializer/AbstractSerializer.php ./vendor/tobscure/json-api/src/AbstractSerializer.php ./vendor/tobscure/json-api/src/SerializerInterface.php ./packages/flarum-core/src/Api/Controller/AbstractSerializeController.php ./vendor/psr/http-server-handler/src/RequestHandlerInterface.php ./packages/flarum-core/src/Database/AbstractModel.php ./packages/flarum-core/src/Discussion/DiscussionMetadataUpdater.php ./packages/flarum-core/src/Discussion/DiscussionPolicy.php ./packages/flarum-core/src/User/Gate.php ./vendor/illuminate/contracts/Auth/Access/Gate.php ./packages/flarum-core/src/Locale/Translator.php ./vendor/symfony/translation/Translator.php ./vendor/symfony/translation/TranslatorInterface.php ./vendor/symfony/translation/TranslatorBagInterface.php ./vendor/illuminate/contracts/Translation/Translator.php ./vendor/symfony/translation/Formatter/MessageFormatter.php ./vendor/symfony/translation/Formatter/MessageFormatterInterface.php ./vendor/symfony/translation/Formatter/ChoiceMessageFormatterInterface.php ./vendor/symfony/translation/MessageSelector.php ./packages/flarum-core/src/Locale/PrefixedYamlFileLoader.php ./vendor/symfony/translation/Loader/YamlFileLoader.php ./vendor/symfony/translation/Loader/FileLoader.php ./vendor/symfony/translation/Loader/ArrayLoader.php ./vendor/symfony/translation/Loader/LoaderInterface.php ./packages/flarum-core/src/Http/UrlGenerator.php ./packages/flarum-core/src/Http/RouteCollection.php ./vendor/nikic/fast-route/src/DataGenerator/GroupCountBased.php ./vendor/nikic/fast-route/src/DataGenerator/RegexBasedAbstract.php ./vendor/nikic/fast-route/src/DataGenerator.php ./vendor/nikic/fast-route/src/RouteParser/Std.php ./vendor/nikic/fast-route/src/RouteParser.php ./packages/flarum-core/src/Http/RouteHandlerFactory.php ./packages/flarum-core/src/Admin/routes.php ./packages/flarum-core/src/Http/RouteCollectionUrlGenerator.php ./packages/flarum-core/src/Api/routes.php ./vendor/nikic/fast-route/src/Route.php ./packages/flarum-core/src/Event/ConfigureApiRoutes.php ./packages/flarum-core/src/Event/AbstractConfigureRoutes.php ./packages/flarum-core/src/Forum/routes.php ./packages/flarum-core/src/Event/ConfigureForumRoutes.php ./packages/flarum-core/src/Group/GroupPolicy.php ./packages/flarum-core/src/Notification/Notification.php ./packages/flarum-core/src/Notification/Blueprint/DiscussionRenamedBlueprint.php ./packages/flarum-core/src/User/User.php ./packages/flarum-core/src/Foundation/EventGeneratorTrait.php ./packages/flarum-core/src/Database/ScopeVisibilityTrait.php ./packages/flarum-core/src/Notification/MailableInterface.php ./packages/flarum-core/src/Post/CommentPost.php ./packages/flarum-core/src/Post/Post.php ./packages/flarum-core/src/Formatter/Formatter.php ./vendor/illuminate/cache/Repository.php ./vendor/illuminate/support/InteractsWithTime.php ./vendor/illuminate/contracts/Cache/Repository.php ./vendor/psr/simple-cache/src/CacheInterface.php ./vendor/illuminate/cache/FileStore.php ./vendor/illuminate/cache/RetrievesMultipleKeys.php ./vendor/illuminate/contracts/Cache/Store.php ./packages/flarum-core/src/Event/ConfigurePostTypes.php ./packages/flarum-core/src/Post/DiscussionRenamedPost.php ./packages/flarum-core/src/Post/AbstractEventPost.php ./packages/flarum-core/src/Post/MergeableInterface.php ./packages/flarum-lock/src/Post/DiscussionLockedPost.php ./packages/flarum-core/src/Post/PostPolicy.php ./vendor/illuminate/hashing/HashManager.php ./vendor/illuminate/support/Manager.php ./vendor/illuminate/contracts/Hashing/Hasher.php ./packages/flarum-core/src/User/UserMetadataUpdater.php ./packages/flarum-core/src/User/UserPolicy.php ./vendor/zendframework/zend-httphandlerrunner/src/RequestHandlerRunner.php ./vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php ./vendor/zendframework/zend-stratigility/src/MiddlewarePipeInterface.php ./vendor/psr/http-server-middleware/src/MiddlewareInterface.php ./vendor/middlewares/base-path/src/BasePath.php ./vendor/zendframework/zend-stratigility/src/Middleware/OriginalMessages.php ./vendor/middlewares/base-path-router/src/BasePathRouter.php ./vendor/middlewares/request-handler/src/RequestHandler.php ./vendor/zendframework/zend-httphandlerrunner/src/Emitter/SapiEmitter.php ./vendor/zendframework/zend-httphandlerrunner/src/Emitter/SapiEmitterTrait.php ./vendor/zendframework/zend-httphandlerrunner/src/Emitter/EmitterInterface.php ./vendor/zendframework/zend-diactoros/src/ServerRequestFactory.php ./vendor/zendframework/zend-diactoros/src/ServerRequest.php ./vendor/zendframework/zend-diactoros/src/RequestTrait.php ./vendor/zendframework/zend-diactoros/src/MessageTrait.php ./vendor/psr/http-message/src/ServerRequestInterface.php ./vendor/psr/http-message/src/RequestInterface.php ./vendor/psr/http-message/src/MessageInterface.php ./vendor/zendframework/zend-diactoros/src/Uri.php ./vendor/psr/http-message/src/UriInterface.php ./vendor/zendframework/zend-diactoros/src/PhpInputStream.php ./vendor/zendframework/zend-diactoros/src/Stream.php ./vendor/psr/http-message/src/StreamInterface.php ./vendor/zendframework/zend-diactoros/src/HeaderSecurity.php ./vendor/zendframework/zend-stratigility/src/EmptyPipelineHandler.php ./vendor/zendframework/zend-stratigility/src/Next.php ./packages/flarum-core/src/Http/Middleware/HandleErrors.php ./packages/flarum-core/src/Foundation/ErrorHandling/Registry.php ./packages/flarum-core/src/Foundation/ErrorHandling/WhoopsFormatter.php ./packages/flarum-core/src/Foundation/ErrorHandling/HttpFormatter.php ./packages/flarum-core/src/Foundation/ErrorHandling/LogReporter.php ./packages/flarum-core/src/Foundation/ErrorHandling/Reporter.php ./packages/flarum-core/src/Http/Middleware/ParseJsonBody.php ./packages/flarum-core/src/Http/Middleware/CollectGarbage.php ./vendor/illuminate/session/FileSessionHandler.php ./packages/flarum-core/src/Http/Middleware/StartSession.php ./packages/flarum-core/src/Http/CookieFactory.php ./packages/flarum-core/src/Http/Middleware/RememberFromCookie.php ./packages/flarum-core/src/Http/Middleware/AuthenticateWithSession.php ./packages/flarum-core/src/Http/Middleware/CheckCsrfToken.php ./packages/flarum-core/src/Http/Middleware/SetLocale.php ./packages/flarum-core/src/Locale/LocaleManager.php ./packages/flarum-core/src/Event/ConfigureLocales.php ./packages/flarum-core/src/Http/Middleware/ShareErrorsFromSession.php ./packages/flarum-core/src/Event/ConfigureMiddleware.php ./packages/flarum-core/src/Http/Middleware/DispatchRoute.php ./vendor/illuminate/session/Store.php ./vendor/illuminate/contracts/Session/Session.php ./vendor/illuminate/support/Carbon.php ./vendor/nesbot/carbon/src/Carbon/Carbon.php ./packages/flarum-core/src/Http/AccessToken.php ./packages/flarum-core/src/Event/ConfigureModelDefaultAttributes.php ./packages/flarum-core/src/Event/GetModelRelationship.php ./vendor/illuminate/database/Eloquent/Builder.php ./vendor/illuminate/database/Eloquent/Concerns/QueriesRelationships.php ./vendor/illuminate/support/Pluralizer.php ./vendor/doctrine/inflector/lib/Doctrine/Common/Inflector/Inflector.php ./vendor/illuminate/database/Eloquent/Collection.php ./vendor/illuminate/contracts/Queue/QueueableCollection.php ./packages/flarum-core/src/Event/ConfigureModelDates.php ./packages/flarum-core/src/Event/ConfigureUserPreferences.php ./vendor/illuminate/support/ViewErrorBag.php ./vendor/nikic/fast-route/src/Dispatcher/GroupCountBased.php ./vendor/nikic/fast-route/src/Dispatcher/RegexBasedAbstract.php ./vendor/nikic/fast-route/src/Dispatcher.php ./packages/flarum-core/src/Frontend/Frontend.php ./packages/flarum-core/src/Api/Client.php ./packages/flarum-core/src/Frontend/Content/Assets.php ./packages/flarum-core/src/Frontend/Assets.php ./vendor/illuminate/filesystem/FilesystemManager.php ./vendor/illuminate/contracts/Filesystem/Factory.php ./vendor/league/flysystem/src/Adapter/Local.php ./vendor/league/flysystem/src/Adapter/AbstractAdapter.php ./vendor/league/flysystem/src/AdapterInterface.php ./vendor/league/flysystem/src/ReadInterface.php ./vendor/league/flysystem/src/Filesystem.php ./vendor/league/flysystem/src/Plugin/PluggableTrait.php ./vendor/league/flysystem/src/ConfigAwareTrait.php ./vendor/league/flysystem/src/FilesystemInterface.php ./vendor/league/flysystem/src/Util.php ./vendor/league/flysystem/src/Config.php ./vendor/illuminate/filesystem/FilesystemAdapter.php ./vendor/illuminate/contracts/Filesystem/Filesystem.php ./vendor/illuminate/contracts/Filesystem/Cloud.php ./packages/flarum-core/src/Frontend/AddTranslations.php ./packages/flarum-core/src/Frontend/AddLocaleAssets.php ./packages/flarum-core/src/Frontend/Content/CorePayload.php ./packages/flarum-core/src/Frontend/Content/Meta.php ./packages/flarum-core/src/Forum/Content/Index.php ./packages/flarum-core/src/Frontend/Controller.php ./vendor/zendframework/zend-diactoros/src/Response/HtmlResponse.php ./vendor/zendframework/zend-diactoros/src/Response.php ./vendor/psr/http-message/src/ResponseInterface.php ./vendor/zendframework/zend-diactoros/src/Response/InjectContentTypeTrait.php ./packages/flarum-core/src/Api/Controller/ShowForumController.php ./packages/flarum-core/src/Api/Controller/AbstractShowController.php ./vendor/tobscure/json-api/src/Document.php ./vendor/tobscure/json-api/src/LinksTrait.php ./vendor/tobscure/json-api/src/MetaTrait.php ./packages/flarum-core/src/Api/Event/WillGetData.php ./packages/flarum-core/src/Group/Group.php ./packages/flarum-core/src/Event/ScopeModelVisibility.php ./packages/flarum-core/src/Api/Event/WillSerializeData.php ./packages/flarum-core/src/Api/Serializer/ForumSerializer.php ./vendor/tobscure/json-api/src/Resource.php ./vendor/tobscure/json-api/src/ElementInterface.php ./vendor/tobscure/json-api/src/Parameters.php ./packages/flarum-core/src/Api/JsonApiResponse.php ./vendor/zendframework/zend-diactoros/src/Response/JsonResponse.php ./packages/flarum-core/src/Event/GetPermission.php ./vendor/illuminate/database/Eloquent/Relations/BelongsToMany.php ./vendor/illuminate/database/Eloquent/Relations/Relation.php ./vendor/illuminate/database/Eloquent/Relations/Concerns/InteractsWithPivotTable.php ./vendor/illuminate/database/Query/JoinClause.php ./vendor/illuminate/database/Eloquent/Relations/Pivot.php ./vendor/illuminate/database/Eloquent/Relations/Concerns/AsPivot.php ./packages/flarum-core/src/Api/Event/Serializing.php ./packages/flarum-lock/src/Listener/AddDiscussionLockedAttributes.php ./vendor/illuminate/contracts/Queue/ShouldQueue.php ./vendor/tobscure/json-api/src/Util.php ./packages/flarum-core/src/Event/GetApiRelationship.php ./packages/flarum-core/src/Api/Serializer/GroupSerializer.php ./vendor/tobscure/json-api/src/Collection.php ./vendor/tobscure/json-api/src/Relationship.php ./vendor/symfony/config/ConfigCacheFactory.php ./vendor/symfony/config/ConfigCacheFactoryInterface.php ./vendor/symfony/config/ConfigCache.php ./vendor/symfony/config/ResourceCheckerConfigCache.php ./vendor/symfony/config/ConfigCacheInterface.php ./vendor/symfony/config/Resource/SelfCheckingResourceChecker.php ./vendor/symfony/config/ResourceCheckerInterface.php ./storage/locale/catalogue.en.52lf549.php ./vendor/symfony/translation/MessageCatalogue.php ./vendor/symfony/translation/MessageCatalogueInterface.php ./vendor/symfony/translation/MetadataAwareInterface.php ./packages/flarum-core/src/Frontend/Document.php ./vendor/illuminate/contracts/Support/Renderable.php ./packages/flarum-core/src/Frontend/Compiler/JsCompiler.php ./packages/flarum-core/src/Frontend/Compiler/RevisionCompiler.php ./packages/flarum-core/src/Frontend/Compiler/CompilerInterface.php ./packages/flarum-core/src/Frontend/Compiler/LessCompiler.php ./packages/flarum-core/src/Frontend/Compiler/Source/SourceCollector.php ./packages/flarum-core/src/Frontend/Compiler/Source/FileSource.php ./packages/flarum-core/src/Frontend/Compiler/Source/SourceInterface.php ./packages/flarum-core/src/Frontend/Compiler/Source/StringSource.php ./vendor/s9e/text-formatter/src/Parser.php ./vendor/s9e/text-formatter/src/Parser/Logger.php ./vendor/illuminate/cache/Events/CacheHit.php ./vendor/illuminate/cache/Events/CacheEvent.php ./vendor/oyejorge/less.php/lib/Less/Parser.php ./vendor/oyejorge/less.php/lib/Less/Cache.php ./vendor/oyejorge/less.php/lib/Less/Version.php ./vendor/oyejorge/less.php/lib/Less/Environment.php ./storage/less/lessphp_l4ihbj79f1wcg044sw4ok0ko4kkocwo.lesscache ./vendor/oyejorge/less.php/lib/Less/Tree/Comment.php ./vendor/oyejorge/less.php/lib/Less/Tree.php ./vendor/oyejorge/less.php/lib/Less/Tree/Rule.php ./vendor/oyejorge/less.php/lib/Less/Tree/Value.php ./vendor/oyejorge/less.php/lib/Less/Tree/Expression.php ./vendor/oyejorge/less.php/lib/Less/Tree/Color.php ./vendor/oyejorge/less.php/lib/Less/Tree/Keyword.php ./vendor/oyejorge/less.php/lib/Less/Tree/Call.php ./vendor/oyejorge/less.php/lib/Less/Tree/Variable.php ./vendor/oyejorge/less.php/lib/Less/Tree/Mixin/Call.php ./vendor/oyejorge/less.php/lib/Less/Tree/Element.php ./vendor/oyejorge/less.php/lib/Less/Tree/Selector.php ./vendor/oyejorge/less.php/lib/Less/Tree/Mixin/Definition.php ./vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php ./vendor/oyejorge/less.php/lib/Less/Tree/Dimension.php ./vendor/oyejorge/less.php/lib/Less/Tree/Unit.php ./vendor/oyejorge/less.php/lib/Less/Tree/Operation.php ./vendor/oyejorge/less.php/lib/Less/Tree/Quoted.php ./storage/less/lessphp_75tw34jhrxssksk0k0w4c0g8wokoooo.lesscache ./vendor/oyejorge/less.php/lib/Less/Tree/Import.php ./vendor/oyejorge/less.php/lib/Less/Colors.php ./storage/less/lessphp_sc538byqa40o84o0ko44cscokock88k.lesscache ./storage/less/lessphp_kcpb3be9r74swwk8g0k0oc8ww4cwgc8.lesscache ./vendor/oyejorge/less.php/lib/Less/Tree/NameValue.php ./storage/less/lessphp_38az8pjlgykg0ww8ocs800w4wwcwcgo.lesscache ./storage/less/lessphp_439xyt8sjbc40o8ocw0kkwow0o8808s.lesscache ./storage/less/lessphp_7l9ipp1ojk00080s8ggcs0k48owcgkw.lesscache ./storage/less/lessphp_5yhblttr4gg8gww44wsc0c8wkgocoww.lesscache ./vendor/oyejorge/less.php/lib/Less/Tree/Media.php ./storage/less/lessphp_hmd4gu3oug8o44wog4wkc4swws4kcw0.lesscache ./storage/less/lessphp_ngk80cwi4xwk448cow844c8cskosccc.lesscache ./storage/less/lessphp_45o3rv8dtu4gok8cgog840444k08g4.lesscache ./storage/less/lessphp_pbod65mnzvkko80o8cogoo0480s8044.lesscache ./storage/less/lessphp_8ibz2gkftmccc08c0gwkgo0scgo88kk.lesscache ./storage/less/lessphp_oiw1o48kc2s0kcsgk8ko0c4c8cos400.lesscache ./storage/less/lessphp_ctvui0l9mcoog0ogo0s8o8sgoo8ccks.lesscache ./vendor/oyejorge/less.php/lib/Less/Tree/Condition.php ./storage/less/lessphp_rizdxi2qg0g8ko4skoskko4cccgsc00.lesscache ./storage/less/lessphp_srk83dxiva8ksokco8swk4c4csccgg4.lesscache ./vendor/oyejorge/less.php/lib/Less/Tree/Negative.php ./storage/less/lessphp_r2270410wf4gk8o0ggkc4sc4s8gggco.lesscache ./storage/less/lessphp_4foe4jtg3y4g804048ksg48k4gsk04c.lesscache ./vendor/oyejorge/less.php/lib/Less/Tree/Directive.php ./storage/less/lessphp_b6hbye8k0sg0804k0884kk88cc00k8w.lesscache ./storage/less/lessphp_it6sllwupm0oo0sc4k0g04s88o0ogw0.lesscache ./storage/less/lessphp_hqlo7pawc9c844kckcogssgs8gw8w8s.lesscache ./storage/less/lessphp_nyllg0li334gk8ccws0o8o08wkc4go0.lesscache ./storage/less/lessphp_6n1e8xj2dbswgcsks48w4so8oo0sowc.lesscache ./vendor/oyejorge/less.php/lib/Less/Tree/Url.php ./storage/less/lessphp_n6rppvwoo80gcookk04s0w8ww0840oo.lesscache ./storage/less/lessphp_9sjudgijezokg48g44ggg88o0cw4ck0.lesscache ./storage/less/lessphp_chlatvqf3y80gkcsgcg80o88gookc48.lesscache ./vendor/oyejorge/less.php/lib/Less/Tree/Attribute.php ./storage/less/lessphp_k10rx4j81xc48o04sgwg0www4so8cw0.lesscache ./storage/less/lessphp_p05fzjwxaeosogwg4wo8go0gw004go0.lesscache ./storage/less/lessphp_oopoohgh99w8csc0oo4wc48ok4gcg8g.lesscache ./storage/less/lessphp_njh8jh3vxqo808k8kkgsw8ksks880ws.lesscache ./storage/less/lessphp_mh0b7qbdxmskcow4ccw44wo80w8ccgg.lesscache ./storage/less/lessphp_bwjcl9hf5eogs4oswww4gwgg4kgckkg.lesscache ./storage/less/lessphp_p4vv355t7as8w4kw4kkwwo408okc80w.lesscache ./storage/less/lessphp_rgsf5t0r55cccw8o4sow44cw4c0w8ss.lesscache ./storage/less/lessphp_f47j8bkrllskcs0c40w8ko8w4cww0c4.lesscache ./storage/less/lessphp_jpxamjpw3hcgw8owog8cs80w40s4gs4.lesscache ./storage/less/lessphp_j3u6684c1y8k008gwc0k8s48kwc4s04.lesscache ./storage/less/lessphp_66js80v6fl44ogg4osgwcgok8go04sg.lesscache ./storage/less/lessphp_e92pn19qrfkkwoogoccw880k08gsg0g.lesscache ./storage/less/lessphp_jgl9bwn67lwkgw0cgo40coksw80ok8o.lesscache ./storage/less/lessphp_aw7n3oadvf48osk4s0c8sk88004wkgo.lesscache ./storage/less/lessphp_gswbsu8okdssogk08okgwco8skw8k8o.lesscache ./storage/less/lessphp_klqapgsc5xc08kk4ogkw8w4gs4s88kc.lesscache ./storage/less/lessphp_b1mt6u5q2ncokck84ckwo4so0o8g8go.lesscache ./storage/less/lessphp_o1cymky9iw0k8s4sg80kkc80w88wgkk.lesscache ./storage/less/lessphp_gktnfkolt6o0s8kkcskc48kcg4sg8ss.lesscache ./storage/less/lessphp_aeik1ftog4wskwcok48sw84wsgo480g.lesscache ./storage/less/lessphp_d12xma4tmagcoww48o4c4cg88owg4cs.lesscache ./storage/less/lessphp_8jygdmsujfk084w48gsokc0sgwg0w8w.lesscache ./storage/less/lessphp_ru2r6df8gbkg444ks04swocok40cgw4.lesscache ./storage/less/lessphp_5ciyj0nvydssc0gk0wg8o8gk8c40wso.lesscache ./storage/less/lessphp_6l2l3wrp39sscw0ww4ooc4sw44kogos.lesscache ./storage/less/lessphp_95p0lm0bus4ccwco0kggckww0ow00c0.lesscache ./storage/less/lessphp_m6syce3sq2o0gokw0kkk4gw4kgscok4.lesscache ./storage/less/lessphp_ej933zw7sa8s4sgcgocw448wosg0sso.lesscache ./storage/less/lessphp_gluefgj27h4c008c0ckoo04gwcwok8s.lesscache ./storage/less/lessphp_l5mlr55plioowsgg8gwwgk4w08c840k.lesscache ./vendor/oyejorge/less.php/lib/Less/Tree/Extend.php ./storage/less/lessphp_kbnwyojinrkco88kokg8c0okk8g4ggo.lesscache ./storage/less/lessphp_tft7noy3a3kks0oso00o0sok4wo8w08.lesscache ./storage/less/lessphp_cv7i2vtz4jcw4koko4s40sok4kws880.lesscache ./storage/less/lessphp_3ox5uya52b0gc4w4cg4swcooog004w8.lesscache ./storage/less/lessphp_tme46cnt9fk00g80sss8og0oooc0kcs.lesscache ./storage/less/lessphp_lwdfstvmpy8ksww8gsgc0w0gwsog48g.lesscache ./storage/less/lessphp_l8noxsy0no0c4okcoo8g0wkw04gsskc.lesscache ./storage/less/lessphp_92o40yjt80sgg8gswwk84c04kkskcws.lesscache ./storage/less/lessphp_5uv43h6sslwc4gw80ko80g8w40s8gww.lesscache ./storage/less/lessphp_b4xf4yuxcxwkow4ss480og8ggw0wsgs.lesscache ./storage/less/lessphp_eu5qacl7p3sc4s0wkw44scg0owcsosg.lesscache ./storage/less/lessphp_hwriabvtnbc44go04wswgkgocsgkggs.lesscache ./vendor/oyejorge/less.php/lib/Less/Output.php ./vendor/oyejorge/less.php/lib/Less/Tree/DefaultFunc.php ./vendor/oyejorge/less.php/lib/Less/Functions.php ./vendor/oyejorge/less.php/lib/Less/Tree/UnitConversions.php ./vendor/oyejorge/less.php/lib/Less/Tree/Anonymous.php ./vendor/oyejorge/less.php/lib/Less/Visitor/joinSelector.php ./vendor/oyejorge/less.php/lib/Less/Visitor.php ./vendor/oyejorge/less.php/lib/Less/Visitor/processExtends.php ./vendor/oyejorge/less.php/lib/Less/Visitor/toCSS.php ./vendor/oyejorge/less.php/lib/Less/VisitorReplacing.php ./vendor/oyejorge/less.php/lib/Less/Visitor/extendFinder.php ./vendor/league/flysystem/src/Util/MimeType.php ./packages/flarum-core/src/Api/Controller/ShowUserController.php ./packages/flarum-core/src/User/UserRepository.php ./packages/flarum-core/src/Api/Serializer/CurrentUserSerializer.php ./packages/flarum-core/src/Api/Serializer/UserSerializer.php ./packages/flarum-core/src/Api/Serializer/BasicUserSerializer.php ./packages/flarum-core/src/User/Event/GetDisplayName.php ./vendor/illuminate/database/Eloquent/Relations/HasMany.php ./vendor/illuminate/database/Eloquent/Relations/HasOneOrMany.php ./vendor/illuminate/database/Query/Expression.php ./packages/flarum-core/src/Discussion/Discussion.php ./packages/flarum-core/src/Api/Controller/ListDiscussionsController.php ./packages/flarum-core/src/Api/Controller/AbstractListController.php ./packages/flarum-core/src/Discussion/Search/DiscussionSearcher.php ./packages/flarum-core/src/Search/ApplySearchParametersTrait.php ./packages/flarum-core/src/Search/GambitManager.php ./packages/flarum-core/src/Event/ConfigureDiscussionGambits.php ./packages/flarum-core/src/Event/AbstractConfigureGambits.php ./packages/flarum-core/src/Discussion/DiscussionRepository.php ./packages/flarum-core/src/Search/SearchCriteria.php ./packages/flarum-core/src/Discussion/Search/DiscussionSearch.php ./packages/flarum-core/src/Search/AbstractSearch.php ./packages/flarum-core/src/Discussion/Search/Gambit/AuthorGambit.php ./packages/flarum-core/src/Search/AbstractRegexGambit.php ./packages/flarum-core/src/Search/GambitInterface.php ./packages/flarum-core/src/Discussion/Search/Gambit/CreatedGambit.php ./packages/flarum-core/src/Discussion/Search/Gambit/HiddenGambit.php ./packages/flarum-core/src/Discussion/Search/Gambit/UnreadGambit.php ./packages/flarum-lock/src/Gambit/LockedGambit.php ./packages/flarum-core/src/Discussion/Event/Searching.php ./packages/flarum-core/src/Search/SearchResults.php ./vendor/illuminate/database/Eloquent/Relations/BelongsTo.php ./vendor/illuminate/database/Eloquent/Relations/Concerns/SupportsDefaultModels.php ./packages/flarum-core/src/Post/RegisteredTypesScope.php ./vendor/illuminate/database/Eloquent/Scope.php ./packages/flarum-core/src/Discussion/UserState.php ./vendor/illuminate/database/Eloquent/Relations/HasOne.php ./packages/flarum-core/src/Api/Serializer/DiscussionSerializer.php ./packages/flarum-core/src/Api/Serializer/BasicDiscussionSerializer.php ./vendor/nesbot/carbon/src/Carbon/CarbonInterval.php ./vendor/illuminate/view/ViewName.php ./vendor/illuminate/view/View.php ./vendor/illuminate/contracts/View/View.php ./vendor/illuminate/view/Engines/CompilerEngine.php ./vendor/illuminate/view/Engines/PhpEngine.php ./vendor/illuminate/contracts/View/Engine.php ./vendor/illuminate/view/Compilers/BladeCompiler.php ./vendor/illuminate/view/Compilers/Compiler.php ./vendor/illuminate/view/Compilers/Concerns/CompilesAuthorizations.php ./vendor/illuminate/view/Compilers/Concerns/CompilesComments.php ./vendor/illuminate/view/Compilers/Concerns/CompilesComponents.php ./vendor/illuminate/view/Compilers/Concerns/CompilesConditionals.php ./vendor/illuminate/view/Compilers/Concerns/CompilesEchos.php ./vendor/illuminate/view/Compilers/Concerns/CompilesHelpers.php ./vendor/illuminate/view/Compilers/Concerns/CompilesIncludes.php ./vendor/illuminate/view/Compilers/Concerns/CompilesInjections.php ./vendor/illuminate/view/Compilers/Concerns/CompilesJson.php ./vendor/illuminate/view/Compilers/Concerns/CompilesLayouts.php ./vendor/illuminate/view/Compilers/Concerns/CompilesLoops.php ./vendor/illuminate/view/Compilers/Concerns/CompilesRawPhp.php ./vendor/illuminate/view/Compilers/Concerns/CompilesStacks.php ./vendor/illuminate/view/Compilers/Concerns/CompilesTranslations.php ./vendor/illuminate/view/Compilers/CompilerInterface.php ./storage/views/84bf907b90435078790b36d1aed3ad15642dfc9f.php ./storage/views/963f4e214cb9adbd911969c2d67268db3b1e9b1f.php ./storage/views/9f3e45173d033662710cdc7179b8be4b49727c8d.php ./storage/views/e1febff140dece56c3ff5ac9515eec9fbee740f9.php ```
luceos commented 3 years ago

I recently saw a tweet that mentioned adding to classes a trait that does something like this:

public static function make(...$arguments)
{
    return Container::make(static::class, ...$arguments);
}

So instead of resolving classes from constructs or handle methods. We can call a class by calling it's make() method. Eg:

use Illuminate\Event\Dispatcher;

$events = Dispatcher::make();

The Illuminate dispatcher is Macroable so the method could be added using that.


In the end this method isn't too different from using app(Dispatcher::class) (or the future container(Dispatcher::class)) 🤦

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. We do this to keep the amount of open issues to a manageable minimum. In any case, thanks for taking an interest in this software and contributing by opening the issue in the first place!