// composer.json
{
"require": {
"php": "^7.3.0",
"ext-iconv": "*",
"antishov/doctrine-extensions-bundle": "^1.4", // v1.4.2
"aws/aws-sdk-php": "^3.87", // 3.133.20
"composer/package-versions-deprecated": "^1.11", // 1.11.99
"doctrine/doctrine-bundle": "^2.0", // 2.0.7
"doctrine/doctrine-migrations-bundle": "^1.3|^2.0", // 2.1.2
"doctrine/orm": "^2.5.11", // v2.7.1
"easycorp/easy-log-handler": "^1.0", // v1.0.9
"http-interop/http-factory-guzzle": "^1.0", // 1.0.0
"knplabs/knp-markdown-bundle": "^1.7", // 1.8.1
"knplabs/knp-paginator-bundle": "^5.0", // v5.1.1
"knplabs/knp-snappy-bundle": "^1.6", // v1.7.0
"knplabs/knp-time-bundle": "^1.8", // v1.11.0
"league/flysystem-aws-s3-v3": "^1.0", // 1.0.24
"league/flysystem-cached-adapter": "^1.0", // 1.0.9
"league/html-to-markdown": "^4.8", // 4.9.1
"liip/imagine-bundle": "^2.1", // 2.3.0
"nexylan/slack-bundle": "^2.1", // v2.2.2
"oneup/flysystem-bundle": "^3.0", // 3.4.0
"php-http/guzzle6-adapter": "^2.0", // v2.0.1
"sensio/framework-extra-bundle": "^5.1", // v5.5.3
"symfony/asset": "5.0.*", // v5.0.4
"symfony/console": "5.0.*", // v5.0.4
"symfony/dotenv": "5.0.*", // v5.0.4
"symfony/flex": "^1.9", // v1.9.10
"symfony/form": "5.0.*", // v5.0.4
"symfony/framework-bundle": "5.0.*", // v5.0.4
"symfony/mailer": "5.0.*", // v5.0.4
"symfony/messenger": "5.0.*", // v5.0.4
"symfony/monolog-bundle": "^3.5", // v3.5.0
"symfony/security-bundle": "5.0.*", // v5.0.4
"symfony/sendgrid-mailer": "5.0.*", // v5.0.4
"symfony/serializer-pack": "^1.0", // v1.0.2
"symfony/twig-bundle": "5.0.*", // v5.0.4
"symfony/twig-pack": "^1.0", // v1.0.0
"symfony/validator": "5.0.*", // v5.0.4
"symfony/webpack-encore-bundle": "^1.4", // v1.7.3
"symfony/yaml": "5.0.*", // v5.0.4
"twig/cssinliner-extra": "^2.12", // v2.12.5
"twig/extensions": "^1.5", // v1.5.4
"twig/inky-extra": "^2.12" // v2.12.5
},
"require-dev": {
"doctrine/doctrine-fixtures-bundle": "^3.0", // 3.3.0
"fzaninotto/faker": "^1.7", // v1.9.1
"symfony/browser-kit": "5.0.*", // v5.0.4
"symfony/debug-bundle": "5.0.*", // v5.0.4
"symfony/maker-bundle": "^1.0", // v1.14.3
"symfony/phpunit-bridge": "5.0.*", // v5.0.4
"symfony/profiler-pack": "^1.0", // v1.0.4
"symfony/var-dumper": "5.0.*" // v5.0.4
}
}
Want to see how Symfony really works under-the-hood? Let's do it!
In this tutorial, we'll dive deep: tracing from the first line of code that's executed in public/index.php
through the core of Symfony's HttpKernel
. It's a daring adventure that includes events, controller resolvers, request attributes, and giant sea monsters... probably:
HttpKernel::handle()
method that's used in Symfony AND Drupal!RequestEvent
, ControllerEvent
and more are dispatchedBy the end of this tutorial, you'll understand how the dots connect deep under the surface of Symfony... making you capable of hooking into just about any part of Symfony. Woh.