├── .gitattributes ├── LICENSE ├── _config.yml ├── contributing.md ├── readme.md └── topics ├── automated-tests.md ├── console.md ├── controllers.md ├── data-validation.md ├── dependency-injection.md ├── forms.md ├── http-caching.md ├── http.md ├── miscellaneous.md ├── php-and-web-security.md ├── routing.md ├── security.md ├── symfony-architecture.md └── templating-with-twig.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Thomas Berends 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: minima 2 | -------------------------------------------------------------------------------- /contributing.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | Is there any information missing? Please help to add to this by submitting a pull request. 3 | 4 | Links are formatted this way: 5 | 6 | ``` 7 | - [{{ title }} - [{{lowercase.domain.name}}]({{url}}) 8 | ``` 9 | 10 | When adding links to the Symfony documentation, please use the 7.0 version instead of current. 11 | 12 | You can add new links below the current headings. Please do not add new headings, 13 | unless there are new ones on [the official page](https://certification.symfony.com/exams/symfony.html). -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Symfony Certification Preparation List 3 | permalink: / 4 | --- 5 | 6 | When looking for a guide to prepare myself for a Symfony certification, I couldn't find a lot. So I've decided to start 7 | this project to help people find everything they need. 8 | 9 | The exam topics in the table of contents below are copied from the 10 | **[official exam topics](https://certification.symfony.com/exams/symfony.html)**. 11 | 12 | ## Community 13 | If you're looking for other people who are interested in (or have) certification. Please check the #certification channel 14 | at the Symfony Devs Slack. [Request an invitation here](https://symfony.com/slack-invite) 15 | 16 | If you have information to add, PR\'s are welcome! For more information refer to [Contributing page](contributing.md). 17 | 18 | ## Older certifications 19 | The master branch contains information for the **7.0** certification. For earlier versions, please see the other branches. 20 | 21 | ## Table of Contents 22 | 23 | - [PHP and Web Security](/topics/php-and-web-security.md) 24 | - [PHP API up to PHP 8.2 version](/topics/php-and-web-security.md#php-api-up-to-php-82-version) 25 | - [Object Oriented Programming](/topics/php-and-web-security.md#object-oriented-programming) 26 | - [Namespaces](/topics/php-and-web-security.md#namespaces) 27 | - [Interfaces](/topics/php-and-web-security.md#interfaces) 28 | - [Anonymous functions and closures](/topics/php-and-web-security.md#anonymous-functions-and-closures) 29 | - [Abstract classes](/topics/php-and-web-security.md#abstract-classes) 30 | - [Exception and error handling](/topics/php-and-web-security.md#exception-and-error-handling) 31 | - [Traits](/topics/php-and-web-security.md#traits) 32 | - [PHP extensions](/topics/php-and-web-security.md#php-extensions) 33 | - [SPL](/topics/php-and-web-security.md#spl) 34 | - [HTTP](/topics/http.md) 35 | - [Client / Server interaction](/topics/http.md#client--server-interaction) 36 | - [Status codes](/topics/http.md#status-codes) 37 | - [HTTP request](/topics/http.md#http-request) 38 | - [HTTP response](/topics/http.md#http-response) 39 | - [HTTP methods](/topics/http.md#http-methods) 40 | - [Cookies](/topics/http.md#cookies) 41 | - [Caching](/topics/http.md#caching) 42 | - [Content negotiation](/topics/http.md#content-negotiation) 43 | - [Language detection](/topics/http.md#language-detection) 44 | - [Symfony HttpClient component](/topics/http.md#symfony-httpclient-component) 45 | - [Symfony Architecture](/topics/symfony-architecture.md) 46 | - [Symfony Flex](/topics/symfony-architecture.md#symfony-flex) 47 | - [License](/topics/symfony-architecture.md#license) 48 | - [Components](/topics/symfony-architecture.md#components) 49 | - [Bridges](/topics/symfony-architecture.md#bridges) 50 | - [Code organization](/topics/symfony-architecture.md#code-organization) 51 | - [Request handling](/topics/symfony-architecture.md#request-handling) 52 | - [Exception handling](/topics/symfony-architecture.md#exception-handling) 53 | - [Event dispatcher and kernel events](/topics/symfony-architecture.md#event-dispatcher-and-kernel-events) 54 | - [Official best practices](/topics/symfony-architecture.md#official-best-practices) 55 | - [Release management](/topics/symfony-architecture.md#release-management) 56 | - [Backward compatibility promise](/topics/symfony-architecture.md#backward-compatibility-promise) 57 | - [Deprecations best practices](/topics/symfony-architecture.md#deprecations-best-practices) 58 | - [Framework overloading](/topics/symfony-architecture.md#framework-overloading) 59 | - [Release management and roadmap schedule](/topics/symfony-architecture.md#release-management-and-roadmap-schedule) 60 | - [Framework interoperability and PSRs](/topics/symfony-architecture.md#framework-interoperability-and-psrs) 61 | - [Naming conventions](/topics/symfony-architecture.md#naming-conventions) 62 | - [Controllers](/topics/controllers.md) 63 | - [Naming conventions](/topics/controllers.md#naming-conventions) 64 | - [The base AbstractController class](/topics/controllers.md#the-base-abstractcontroller-class) 65 | - [The request](/topics/controllers.md#the-request) 66 | - [The response](/topics/controllers.md#the-response) 67 | - [The cookies](/topics/controllers.md#the-cookies) 68 | - [The session](/topics/controllers.md#the-session) 69 | - [The flash messages](/topics/controllers.md#the-flash-messages) 70 | - [HTTP redirects](/topics/controllers.md#http-redirects) 71 | - [Internal redirects](/topics/controllers.md#internal-redirects) 72 | - [Generate 404 pages](/topics/controllers.md#generate-404-pages) 73 | - [File upload](/topics/controllers.md#file-upload) 74 | - [Built-in internal controllers](/topics/controllers.md#built-in-internal-controllers) 75 | - [Argument value resolvers](/topics/controllers.md#argument-value-resolvers) 76 | - [Routing](/topics/routing.md) 77 | - [Configuration (only YAML and PHP attributes)](/topics/routing.md#configuration-only-yaml-and-php-attributes) 78 | - [Restrict URL parameters](/topics/routing.md#restrict-url-parameters) 79 | - [Set default values to URL parameters](/topics/routing.md#set-default-values-to-url-parameters) 80 | - [Generate URL parameters](/topics/routing.md#generate-url-parameters) 81 | - [Trigger redirects](/topics/routing.md#trigger-redirects) 82 | - [Special internal routing attributes](/topics/routing.md#special-internal-routing-attributes) 83 | - [Domain name matching](/topics/routing.md#domain-name-matching) 84 | - [Conditional request matching](/topics/routing.md#conditional-request-matching) 85 | - [HTTP methods matching](/topics/routing.md#http-methods-matching) 86 | - [User's locale guessing](/topics/routing.md#users-locale-guessing) 87 | - [Router debugging](/topics/routing.md#router-debugging) 88 | - [Templating with Twig](/topics/templating-with-twig.md) 89 | - [Twig syntax up to 3.8 version](/topics/templating-with-twig.md#twig-syntax-up-to-38-version) 90 | - [Auto escaping](/topics/templating-with-twig.md#auto-escaping) 91 | - [Template inheritance](/topics/templating-with-twig.md#template-inheritance) 92 | - [Global variables](/topics/templating-with-twig.md#global-variables) 93 | - [Filters and functions](/topics/templating-with-twig.md#filters-and-functions) 94 | - [Template includes](/topics/templating-with-twig.md#template-includes) 95 | - [Loops and conditions](/topics/templating-with-twig.md#loops-and-conditions) 96 | - [URLs generation](/topics/templating-with-twig.md#urls-generation) 97 | - [Controller rendering](/topics/templating-with-twig.md#controller-rendering) 98 | - [Translations and pluralization](/topics/templating-with-twig.md#translations-and-pluralization) 99 | - [String interpolation](/topics/templating-with-twig.md#string-interpolation) 100 | - [Assets management](/topics/templating-with-twig.md#assets-management) 101 | - [Debugging variables](/topics/templating-with-twig.md#debugging-variables) 102 | - [Forms](/topics/forms.md) 103 | - [Forms creation](/topics/forms.md#forms-creation) 104 | - [Forms handling](/topics/forms.md#forms-handling) 105 | - [Form types (built-in and custom)](/topics/forms.md#form-types-built-in-and-custom) 106 | - [Forms rendering with Twig](/topics/forms.md#forms-rendering-with-twig) 107 | - [Forms theming](/topics/forms.md#forms-theming) 108 | - [CSRF protection](/topics/forms.md#csrf-protection) 109 | - [Handling file upload](/topics/forms.md#handling-file-upload) 110 | - [Built-in form types](/topics/forms.md#built-in-form-types) 111 | - [Data transformers](/topics/forms.md#data-transformers) 112 | - [Form events](/topics/forms.md#form-events) 113 | - [Form type extensions](/topics/forms.md#form-type-extensions) 114 | - [Data Validation](/topics/data-validation.md) 115 | - [PHP object validation](/topics/data-validation.md#php-object-validation) 116 | - [Built-in validation constraints](/topics/data-validation.md#built-in-validation-constraints) 117 | - [Validation scopes](/topics/data-validation.md#validation-scopes) 118 | - [Validation groups](/topics/data-validation.md#validation-groups) 119 | - [Group sequence](/topics/data-validation.md#group-sequence) 120 | - [Custom callback validators](/topics/data-validation.md#custom-callback-validators) 121 | - [Violations builder](/topics/data-validation.md#violations-builder) 122 | - [Dependency Injection](/topics/dependency-injection.md) 123 | - [Service container](/topics/dependency-injection.md#service-container) 124 | - [Built-in services](/topics/dependency-injection.md#built-in-services) 125 | - [Configuration parameters](/topics/dependency-injection.md#configuration-parameters) 126 | - [Services registration (only with YAML and PHP attributes)](/topics/dependency-injection.md#services-registration-only-with-yaml-and-php-attributes) 127 | - [Service decoration](/topics/dependency-injection.md#service-decoration) 128 | - [Tags](/topics/dependency-injection.md#tags) 129 | - [Semantic configuration](/topics/dependency-injection.md#semantic-configuration) 130 | - [Factories](/topics/dependency-injection.md#factories) 131 | - [Compiler passes](/topics/dependency-injection.md#compiler-passes) 132 | - [Services autowiring](/topics/dependency-injection.md#services-autowiring) 133 | - [Service locators](/topics/dependency-injection.md#service-locators) 134 | - [Security](/topics/security.md) 135 | - [Authentication](/topics/security.md#authentication) 136 | - [Authorization](/topics/security.md#authorization) 137 | - [Configuration](/topics/security.md#configuration) 138 | - [Providers](/topics/security.md#providers) 139 | - [Firewalls](/topics/security.md#firewalls) 140 | - [Users](/topics/security.md#users) 141 | - [Password hashers](/topics/security.md#passwords-hashers) 142 | - [Roles](/topics/security.md#roles) 143 | - [Access Control Rules](/topics/security.md#access-control-rules) 144 | - [Authenticators, Passports and Badges](/topics/security.md#authenticators-passports-and-badges) 145 | - [Voters and voting strategies](/topics/security.md#voters-and-voting-strategies) 146 | - [HTTP Caching](/topics/http-caching.md) 147 | - [Cache types (browser, proxies and reverse-proxies)](/topics/http-caching.md#cache-types--browser-proxies-and-reverse-proxies-) 148 | - [Expiration (Expires, Cache-Control)](/topics/http-caching.md#expiration--expires-cache-control-) 149 | - [Validation (ETag, Last-Modified)](/topics/http-caching.md#validation--etag-last-modified-) 150 | - [Client side caching](/topics/http-caching.md#client-side-caching) 151 | - [Server side caching](/topics/http-caching.md#server-side-caching) 152 | - [Edge Side Includes](/topics/http-caching.md#edge-side-includes) 153 | - [Console](/topics/console.md) 154 | - [Built-in commands](/topics/console.md#built-in-commands) 155 | - [Custom commands](/topics/console.md#custom-commands) 156 | - [Configuration](/topics/console.md#configuration) 157 | - [Options and arguments](/topics/console.md#options-and-arguments) 158 | - [Input and Output objects](/topics/console.md#input-and-output-objects) 159 | - [Built-in helpers](/topics/console.md#built-in-helpers) 160 | - [Console events](/topics/console.md#console-events) 161 | - [Verbosity levels](/topics/console.md#verbosity-levels) 162 | - [Automated Tests](/topics/automated-tests.md) 163 | - [Unit tests with PHPUnit](/topics/automated-tests.md#unit-tests-with-phpunit) 164 | - [Functional tests with PHPUnit](/topics/automated-tests.md#functional-tests-with-phpunit) 165 | - [Client object](/topics/automated-tests.md#client-object) 166 | - [Crawler object](/topics/automated-tests.md#crawler-object) 167 | - [Profiler object](/topics/automated-tests.md#profiler-object) 168 | - [Framework objects access](/topics/automated-tests.md#framework-objects-access) 169 | - [Client configuration](/topics/automated-tests.md#client-configuration) 170 | - [Request and response objects introspection](/topics/automated-tests.md#request-and-response-objects-introspection) 171 | - [PHPUnit bridge](/topics/automated-tests.md#phpunit-bridge) 172 | - [Handling legacy deprecated code](/topics/automated-tests.md#handling-legacy-deprecated-code) 173 | - [Miscellaneous](/topics/miscellaneous.md) 174 | - [Configuration (including DotEnv and ExpressionLanguage components)](/topics/miscellaneous.md#configuration-including-dotenv-and-expressionlanguage-components) 175 | - [Error handling](/topics/miscellaneous.md#error-handling) 176 | - [Code debugging](/topics/miscellaneous.md#code-debugging) 177 | - [Deployment best practices](/topics/miscellaneous.md#deployment-best-practices) 178 | - [Cache, Process and Serializer components](/topics/miscellaneous.md#cache-process-and-serializer-components) 179 | - [Messenger component](/topics/miscellaneous.md#messenger-component) 180 | - [Mime and Mailer components](/topics/miscellaneous.md#mime-and-mailer-component) 181 | - [Filesystem and Finder components](/topics/miscellaneous.md#filesystem-and-finder-components) 182 | - [Lock component](/topics/miscellaneous.md#lock-component) 183 | - [Web Profiler, Web Debug Toolbar and Data collectors](/topics/miscellaneous.md#web-profiler-web-debug-toolbar-and-data-collectors) 184 | - [Internationalization and localization (and Intl component)](/topics/miscellaneous.md#internationalization-and-localization-and-intl-component) 185 | - [Runtime component](/topics/miscellaneous.md#runtime-component) 186 | - [Clock component](/topics/miscellaneous.md#clock-component) 187 | -------------------------------------------------------------------------------- /topics/automated-tests.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Automated Tests 3 | --- 4 | [Back to index](../readme.md#table-of-contents) 5 | 6 | # Automated Tests 7 | - [Testing - symfony.com](https://symfony.com/doc/7.0/testing.html) 8 | - [PHPUnit 9.6 Manual - phpunit.readthedocs.io](https://phpunit.readthedocs.io/en/9.6/) 9 | 10 | ## Unit tests with PHPUnit 11 | - [Unit tests - symfony.com](https://symfony.com/doc/7.0/testing.html#unit-tests) 12 | - [Writing Tests for PHPUnit - phpunit.readthedocs.io](https://phpunit.readthedocs.io/en/9.6/writing-tests-for-phpunit.html) 13 | 14 | ## Functional tests with PHPUnit 15 | - [Functional tests - symfony.com](https://symfony.com/doc/7.0/testing.html#functional-tests) 16 | - [Configuring a Database for Tests - symfony.com](https://symfony.com/doc/7.0/testing.html#configuring-a-database-for-tests) 17 | - [Fixtures - phpunit.readthedocs.io](https://phpunit.readthedocs.io/en/9.6/fixtures.html) 18 | - [WebTestCase abstract class - github.com](https://github.com/symfony/symfony/blob/7.0/src/Symfony/Bundle/FrameworkBundle/Test/WebTestCase.php) 19 | 20 | ## Client object 21 | - [Making Requests - symfony.com](https://symfony.com/doc/7.0/testing.html#making-requests) 22 | - [KernelBrowser - github.com](https://github.com/symfony/symfony/blob/7.0/src/Symfony/Bundle/FrameworkBundle/KernelBrowser.php) 23 | 24 | ## Crawler object 25 | - [The DomCrawler Component - symfony.com](https://symfony.com/doc/7.0/components/dom_crawler.html) 26 | - [Write Your First Application Test - symfony.com](https://symfony.com/doc/7.0/testing.html#write-your-first-application-test) 27 | - [The DOM Crawler - symfony.com](https://symfony.com/doc/7.0/testing/dom_crawler.html) 28 | - [Crawler class - github.com](https://github.com/symfony/symfony/blob/7.0/src/Symfony/Component/DomCrawler/Crawler.php) 29 | 30 | ## Profiler object 31 | - [How to Use the Profiler in a Functional Test - symfony.com](https://symfony.com/doc/7.0/testing/profiling.html) 32 | 33 | ## Framework objects access 34 | - [Retrieving Services in the Test - symfony.com](https://symfony.com/doc/7.0/testing.html#retrieving-services-in-the-test) 35 | 36 | ## Client configuration 37 | - [Set-up your Test Environment - symfony.com](https://symfony.com/doc/7.0/testing.html#set-up-your-test-environment) 38 | 39 | ## Request and response objects introspection 40 | - [Accessing Internal Objects - symfony.com](https://symfony.com/doc/7.0/testing.html#accessing-internal-objects) 41 | 42 | ## PHPUnit bridge 43 | - [The PHPUnit Bridge - symfony.com](https://symfony.com/doc/7.0/components/phpunit_bridge.html) 44 | 45 | ## Handling legacy deprecated code 46 | - [SYMFONY_DEPRECATIONS_HELPER - symfony.com](https://symfony.com/doc/7.0/components/phpunit_bridge.html#configuration) 47 | -------------------------------------------------------------------------------- /topics/console.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Console 3 | --- 4 | [Back to index](../readme.md#table-of-contents) 5 | 6 | # Console 7 | - [The Console Component - symfony.com](https://symfony.com/doc/7.0/components/console.html) 8 | - [Console Commands - symfony.com](https://symfony.com/doc/7.0/console.html) 9 | - [Building a single Command Application - symfony.com](https://symfony.com/doc/7.0/components/console/single_command_tool.html) 10 | - [How to Call Other Commands - symfony.com](https://symfony.com/doc/7.0/console/calling_commands.html) 11 | - [How to Call a Command from a Controller - symfony.com](https://symfony.com/doc/7.0/console/command_in_controller.html) 12 | 13 | ## Built-in commands 14 | - [Using Console Commands, Shortcuts and Built-in Commands - symfony.com](https://symfony.com/doc/7.0/components/console/usage.html) 15 | 16 | ## Custom commands 17 | - [Console Commands - symfony.com](https://symfony.com/doc/7.0/console.html) 18 | - [Changing the Default Command - symfony.com](https://symfony.com/doc/7.0/components/console/changing_default_command.html) 19 | 20 | ## Configuration 21 | - [Configuring the Command - symfony.com](https://symfony.com/doc/7.0/console.html#configuring-the-command) 22 | - [How to Define Commands as Services - symfony.com](https://symfony.com/doc/7.0/console/commands_as_services.html) 23 | - [How to Hide Console Commands - symfony.com](https://symfony.com/doc/7.0/console/hide_commands.html) 24 | - [How to Make Commands Lazily Loaded - symfony.com](https://symfony.com/doc/7.0/console/lazy_commands.html) 25 | - [Prevent Running the Same Console Command Multiple Times - symfony.com](https://symfony.com/doc/7.0/console/lockable_trait.html) 26 | 27 | ## Options and arguments 28 | - [Console Input (Arguments & Options) - symfony.com](https://symfony.com/doc/7.0/console/input.html) 29 | - [Understanding how Console Arguments and Options Are Handled - symfony.com](https://symfony.com/doc/7.0/components/console/console_arguments.html) 30 | 31 | ## Input and Output objects 32 | - [Console Input (Arguments & Options) - symfony.com](https://symfony.com/doc/7.0/console/input.html) 33 | - [How to Style a Console Command - symfony.com](https://symfony.com/doc/7.0/console/style.html) 34 | - [How to Color and Style the Console Output - symfony.com](https://symfony.com/doc/7.0/console/coloring.html) 35 | - [InputInterface code - symfony.com](https://github.com/symfony/console/blob/7.0/Input/InputInterface.php) 36 | - [OutputInterface code - symfony.com](https://github.com/symfony/console/blob/7.0/Output/OutputInterface.php) 37 | 38 | ## Built-in helpers 39 | - [The Console Helpers - symfony.com](https://symfony.com/doc/7.0/components/console/helpers/index.html) 40 | - [Cursor Helper - symfony.com](https://symfony.com/doc/7.0/components/console/helpers/cursor.html) 41 | - [Debug Formatter Helper - symfony.com](https://symfony.com/doc/7.0/components/console/helpers/debug_formatter.html) 42 | - [Formatter Helper - symfony.com](https://symfony.com/doc/7.0/components/console/helpers/formatterhelper.html) 43 | - [Process Helper - symfony.com](https://symfony.com/doc/7.0/components/console/helpers/processhelper.html) 44 | - [Progress Bar - symfony.com](https://symfony.com/doc/7.0/components/console/helpers/progressbar.html) 45 | - [Question Helper - symfony.com](https://symfony.com/doc/7.0/components/console/helpers/questionhelper.html) 46 | - [Table - symfony.com](https://symfony.com/doc/7.0/components/console/helpers/table.html) 47 | 48 | ## Console events 49 | - [Using Events - symfony.com](https://symfony.com/doc/7.0/components/console/events.html) 50 | 51 | ## Verbosity levels 52 | - [Verbosity levels - symfony.com](https://symfony.com/doc/7.0/console/verbosity.html) 53 | - [Using the Logger > Verbosity - symfony.com](https://symfony.com/doc/7.0/components/console/logger.html#verbosity) 54 | - [OutputInterface VERBOSITY constants - github.com](https://github.com/symfony/symfony/blob/7.0/src/Symfony/Component/Console/Output/OutputInterface.php#L23) 55 | -------------------------------------------------------------------------------- /topics/controllers.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Controllers 3 | --- 4 | [Back to index](../readme.md#table-of-contents) 5 | 6 | # Controllers 7 | - [Controller - symfony.com](https://symfony.com/doc/7.0/controller.html) 8 | 9 | ## Naming conventions 10 | - [Creating Routes in YAML, XML or PHP files - symfony.com](https://symfony.com/doc/7.0/routing.html#creating-routes-in-yaml-xml-or-php-files) 11 | 12 | ## The base AbstractController class 13 | - [AbstractController.php - github.com](https://github.com/symfony/symfony/blob/7.0/src/Symfony/Bundle/FrameworkBundle/Controller/AbstractController.php) 14 | 15 | ## The request 16 | - [The Request and Response Object - symfony.com](https://symfony.com/doc/7.0/controller.html#the-request-and-response-object) 17 | - [Request.php - github.com](https://github.com/symfony/http-foundation/blob/7.0/Request.php) 18 | 19 | ## The response 20 | - [Response.php - github.com](https://github.com/symfony/http-foundation/blob/7.0/Response.php) 21 | 22 | ## The cookies 23 | - [The HttpFoundation Component - symfony.com](https://symfony.com/doc/7.0/components/http_foundation.html) 24 | 25 | ## The session 26 | - [Managing the Session - symfony.com](https://symfony.com/doc/7.0/controller.html#managing-the-session) 27 | 28 | ## The flash messages 29 | - [Flash Messages - symfony.com](https://symfony.com/doc/7.0/session.html#flash-messages) 30 | 31 | ## HTTP redirects 32 | - [Redirecting - symfony.com](https://symfony.com/doc/7.0/controller.html#redirecting) 33 | 34 | ## Internal redirects 35 | - [How to Forward Requests to another Controller - symfony.com](https://symfony.com/doc/7.0/controller/forwarding.html) 36 | 37 | ## Generate 404 pages 38 | - [Managing Errors and 404 Pages - symfony.com](https://symfony.com/doc/7.0/controller.html#managing-errors-and-404-pages) 39 | - [How to Customize Error Pages - symfony.com](https://symfony.com/doc/7.0/controller/error_pages.html) 40 | 41 | ## File upload 42 | - [How to Upload Files - symfony.com](https://symfony.com/doc/7.0/controller/upload_file.html) 43 | 44 | ## Built-in internal controllers 45 | - [How to Render a Template directly from a route - symfony.com](https://symfony.com/doc/7.0/templates.html#rendering-a-template-directly-from-a-route) 46 | - [How to Redirect to Urls and Routes directly from a route - symfony.com](https://symfony.com/doc/7.0/routing.html#redirecting-to-urls-and-routes-directly-from-a-route) 47 | 48 | ## Argument value resolvers 49 | - [New in Symfony 6.3: Targeted Value Resolvers - symfony.com](https://symfony.com/blog/new-in-symfony-6-3-targeted-value-resolvers) 50 | - [Extending Action Argument Resolving - symfony.com](https://symfony.com/doc/7.0/controller/value_resolver.html) 51 | -------------------------------------------------------------------------------- /topics/data-validation.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Data Validation 3 | --- 4 | [Back to index](../readme.md#table-of-contents) 5 | 6 | # Data Validation 7 | - [Validation - symfony.com](https://symfony.com/doc/7.0/validation.html) 8 | 9 | ## PHP object validation 10 | - [The Basics of Validation - symfony.com](https://symfony.com/doc/7.0/validation.html#the-basics-of-validation) 11 | 12 | ## Built-in validation constraints 13 | - [Supported Constraints - symfony.com](https://symfony.com/doc/7.0/validation.html#supported-constraints) 14 | 15 | ## Validation scopes 16 | - [Constraint Targets - symfony.com](https://symfony.com/doc/7.0/validation.html#constraint-targets) 17 | 18 | ## Validation groups 19 | - [How to Apply only a Subset of all Your Validation Constraints (Validation Groups) - symfony.com](https://symfony.com/doc/7.0/validation/groups.html) 20 | - [How to Define the Validation Groups to Use](https://symfony.com/doc/7.0/form/validation_groups.html) 21 | 22 | ## Group sequence 23 | - [How to Sequentially Apply Validation Groups - symfony.com](https://symfony.com/doc/7.0/validation/sequence_provider.html) 24 | 25 | ## Custom callback validators 26 | - [Callback Constraint - symfony.com](https://symfony.com/doc/7.0/reference/constraints/Callback.html) 27 | 28 | ## Violations builder 29 | - [Custom Validation Constraint - symfony.com](https://symfony.com/doc/7.0/validation/custom_constraint.html) 30 | -------------------------------------------------------------------------------- /topics/dependency-injection.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Dependency Injection 3 | --- 4 | [Back to index](../readme.md#table-of-contents) 5 | 6 | # Dependency Injection 7 | 8 | ## Service container 9 | - [Service Container - symfony.com](https://symfony.com/doc/7.0/service_container.html) 10 | 11 | ## Built-in services 12 | - [Built-in Symfony Service Tags - symfony.com](https://symfony.com/doc/7.0/reference/dic_tags.html) 13 | 14 | ## Configuration parameters 15 | - [Configuration Parameters - symfony.com](https://symfony.com/doc/7.0/configuration.html#configuration-parameters) 16 | 17 | ## Services registration (only with YAML and PHP attributes) 18 | - [Creating/Configuring Services in the Container - symfony.com](https://symfony.com/doc/7.0/service_container.html#creating-configuring-services-in-the-container) 19 | 20 | ## Service decoration 21 | - [How to Decorate Services - symfony.com](https://symfony.com/doc/7.0/service_container/service_decoration.html) 22 | 23 | ## Tags 24 | - [How to Work with Service Tags - symfony.com](https://symfony.com/doc/7.0/service_container/tags.html) 25 | 26 | ## Semantic configuration 27 | 28 | ## Factories 29 | - [Using a Factory to Create Services - symfony.com](https://symfony.com/doc/7.0/service_container/factories.html) 30 | 31 | ## Compiler passes 32 | - [How to Work with Compiler Passes in Bundles - symfony.com](https://symfony.com/doc/7.0/service_container/compiler_passes.html) 33 | 34 | ## Services autowiring 35 | - [Defining Services Dependencies Automatically (Autowiring) Version >= 3.3 - symfony.com](https://symfony.com/doc/7.0/service_container/autowiring.html) 36 | 37 | ## Service locators 38 | - [Service Subscribers & Locators - symfony.com](https://symfony.com/doc/7.0/service_container/service_subscribers_locators.html) 39 | - [Defining a Service Locator - symfony.com](https://symfony.com/doc/7.0/service_container/service_subscribers_locators.html#defining-a-service-locator) 40 | -------------------------------------------------------------------------------- /topics/forms.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Forms 3 | --- 4 | [Back to index](../readme.md#table-of-contents) 5 | 6 | # Forms 7 | - [Building Forms - symfony.com](https://symfony.com/doc/7.0/forms.html) 8 | 9 | ## Forms creation 10 | - [Creating a Simple Form - symfony.com](https://symfony.com/doc/7.0/forms.html#building-forms) 11 | 12 | ## Forms handling 13 | - [Processing Forms - symfony.com](https://symfony.com/doc/7.0/forms.html#processing-forms) 14 | 15 | ## Form types (built-in and custom) 16 | - [Form Type - symfony.com](https://symfony.com/doc/7.0/forms.html#form-types) 17 | - [Form Type Guessing - symfony.com](https://symfony.com/doc/7.0/forms.html#form-type-guessing) 18 | - [Form Type Options - symfony.com](https://symfony.com/doc/7.0/forms.html#form-type-options) 19 | - [How to Create a Custom Form Field Type - symfony.com](https://symfony.com/doc/7.0/form/create_custom_field_type.html) 20 | 21 | ## Forms rendering with Twig 22 | - [Rendering Forms - symfony.com](https://symfony.com/doc/7.0/forms.html#rendering-forms) 23 | 24 | ## Forms theming 25 | - [How to Work with Form Themes - symfony.com](https://symfony.com/doc/7.0/form/form_themes.html) 26 | 27 | ## CSRF protection 28 | - [How to Implement CSRF Protection - symfony.com](https://symfony.com/doc/7.0/security/csrf.html#csrf-protection-in-symfony-forms) 29 | 30 | ## Handling file upload 31 | - [How to Upload Files - symfony.com](https://symfony.com/doc/7.0/controller/upload_file.html) 32 | 33 | ## Built-in form types 34 | - [Form Types - symfony.com](https://symfony.com/doc/7.0/forms.html#form-types) 35 | - [Form Types Reference - symfony.com](https://symfony.com/doc/7.0/reference/forms/types.html) 36 | 37 | ## Data transformers 38 | - [How to Use Data Transformers - symfony.com](https://symfony.com/doc/7.0/form/data_transformers.html) 39 | 40 | ## Form events 41 | - [Form Events - symfony.com](https://symfony.com/doc/7.0/form/events.html) 42 | 43 | ## Form type extensions 44 | - [How to Create a Form Type Extension - symfony.com](https://symfony.com/doc/7.0/form/create_form_type_extension.html) 45 | -------------------------------------------------------------------------------- /topics/http-caching.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: HTTP Caching 3 | --- 4 | [Back to index](../readme.md#table-of-contents) 5 | 6 | # HTTP Caching 7 | - [HTTP Cache - symfony.com](https://symfony.com/doc/7.0/http_cache.html) 8 | - [Things Caches Do - tomayko.com](https://tomayko.com/blog/2008/things-caches-do) 9 | - [Caching Tutorial - mnot.net](https://www.mnot.net/cache_docs/) 10 | - [HTTP caching - developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching) 11 | - [HTTP Caching Web Fundamentals - developers.google.com](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching) 12 | 13 | ## Cache types (browser, proxies, and reverse-proxies) 14 | - [Kinds of Web Caches - Caching Tutorial - mnot.net](https://www.mnot.net/cache_docs/#KINDS) 15 | 16 | ## Expiration (Expires, Cache-Control) 17 | - [HTTP Cache Expiration - symfony.com](https://symfony.com/doc/7.0/http_cache/expiration.html) 18 | - [Expiration - Things Caches Do - tomayko.com](https://tomayko.com/blog/2008/things-caches-do#expiration) 19 | 20 | ## Validation (ETag, Last-Modified) 21 | - [HTTP Cache Validation - symfony.com](https://symfony.com/doc/7.0/http_cache/validation.html) 22 | - [Validation - Things Caches Do - tomayko.com](https://tomayko.com/blog/2008/things-caches-do#validation) 23 | 24 | ## Client side caching 25 | - [Browser Caches - Caching Tutorial - mnot.net](https://www.mnot.net/cache_docs/#BROWSER) 26 | - [Private browser caches - HTTP caching - developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching#Private_browser_caches) 27 | 28 | ## Server side caching 29 | - [Caching with a Gateway Cache - symfony.com](https://symfony.com/doc/7.0/http_cache.html#caching-with-a-gateway-cache) 30 | - [Gateway Caches - Caching Tutorial - mnot.net](https://www.mnot.net/cache_docs/#GATEWAY) 31 | 32 | ## Edge Side Includes 33 | - [Working with Edge Side Includes - symfony.com](https://symfony.com/doc/7.0/http_cache/esi.html) 34 | - [How to Implement CSRF Protection - symfony.com](https://symfony.com/doc/7.0/security/csrf.html) 35 | -------------------------------------------------------------------------------- /topics/http.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: HTTP 3 | --- 4 | [Back to index](../readme.md#table-of-contents) 5 | 6 | # HTTP 7 | 8 | ## Client / Server interaction 9 | - [HTTP Protocol - wikibooks.org](https://en.wikibooks.org/wiki/Communication_Networks/HTTP_Protocol) 10 | - [HTTP Semantics - rfc-editor.org](https://www.rfc-editor.org/rfc/rfc9110.html) 11 | - [Hypertext Transfer Protocol - wikipedia.org](https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol) 12 | 13 | ## Status codes 14 | - [Know Your HTTP Status Codes Well - github.com](https://github.com/for-GET/know-your-http-well/blob/master/status-codes.md) 15 | 16 | ## HTTP request 17 | - [Request - w3.org](https://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html) 18 | - [Method Definitions - w3.org](https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html) 19 | 20 | ## HTTP response 21 | - [Response - w3.org](https://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6) 22 | 23 | ## HTTP methods 24 | - [Method Definitions - w3.org](https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html) 25 | 26 | ## Cookies 27 | - [HTTP cookie - wikipedia.org](https://en.wikipedia.org/wiki/HTTP_cookie) 28 | - [Setting Cookies - symfony.com](https://symfony.com/doc/7.0/components/http_foundation.html#setting-cookies) 29 | 30 | ## Caching 31 | See [HTTP Caching](./http-caching.md) 32 | 33 | ## Content negotiation 34 | - [Content negotiation - developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTTP/Content_negotiation) 35 | 36 | ## Language detection 37 | - [Accept-Language used for locale setting - w3.org](https://www.w3.org/International/questions/qa-accept-lang-locales) 38 | - [Accept-Language - w3.org](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4) 39 | - [New in Symfony 5.4: Language Negotiation](https://symfony.com/blog/new-in-symfony-5-4-language-negotiation) 40 | 41 | ## Symfony HttpClient component 42 | - [HttpClient - symfony.com](https://symfony.com/doc/7.0/http_client.html) 43 | -------------------------------------------------------------------------------- /topics/miscellaneous.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Miscellaneous 3 | --- 4 | [Back to index](../readme.md#table-of-contents) 5 | 6 | # Miscellaneous 7 | 8 | ## Configuration (including DotEnv and ExpressionLanguage components) 9 | - [Configuring Symfony - symfony.com](https://symfony.com/doc/7.0/configuration.html) 10 | - [The Config Component - symfony.com](https://symfony.com/doc/7.0/components/config.html) 11 | - [Caching based on Resources - symfony.com](https://symfony.com/doc/7.0/components/config/caching.html) 12 | - [Loading Resources - symfony.com](https://symfony.com/doc/7.0/components/config/resources.html) 13 | - [How to Create Friendly Configuration for a Bundle - symfony.com](https://symfony.com/doc/7.0/bundles/configuration.html) 14 | - [How to Load Service Configuration inside a Bundle - symfony.com](https://symfony.com/doc/7.0/bundles/extension.html) 15 | - [How to Simplify Configuration of Multiple Bundles - symfony.com](https://symfony.com/doc/7.0/bundles/prepend_extension.html) 16 | - [The Dotenv Component - symfony.com](https://symfony.com/doc/7.0/components/dotenv.html) 17 | - [The ExpressionLanguage Component - symfony.com](https://symfony.com/doc/7.0/components/expression_language.html) 18 | - [Dumping and Manipulating the AST of Expressions - symfony.com](https://symfony.com/doc/7.0/components/expression_language/ast.html) 19 | - [Caching Expressions Using Parser Caches - symfony.com](https://symfony.com/doc/7.0/components/expression_language/caching.html) 20 | - [Extending the ExpressionLanguage - symfony.com](https://symfony.com/doc/7.0/components/expression_language/extending.html) 21 | - [The Expression Syntax - symfony.com](https://symfony.com/doc/7.0/components/expression_language/syntax.html) 22 | - [How to Inject Values Based on Complex Expressions - symfony.com](https://symfony.com/doc/7.0/service_container/expression_language.html) 23 | - [Expression - symfony.com](https://symfony.com/doc/7.0/reference/constraints/Expression.html) 24 | 25 | ## Error handling 26 | - [How to Customize Error Pages - symfony.com](https://symfony.com/doc/7.0/controller/error_pages.html) 27 | - [ErrorHandler Component - github.com](https://github.com/symfony/error-handler) 28 | 29 | 30 | ## Code debugging 31 | - [The Debug Component - symfony.com](https://symfony.com/doc/7.0/components/debug.html) 32 | - [Troubleshooting Problems - symfony.com](https://symfony.com/doc/current/the-fast-track/en/5-debug.html) 33 | - [Profiler - symfony.com](https://symfony.com/doc/7.0/profiler.html) 34 | 35 | ## Deployment best practices 36 | - [How to Deploy a Symfony Application - symfony.com](https://symfony.com/doc/7.0/deployment.html) 37 | - [Performance - symfony.com](https://symfony.com/doc/7.0/performance.html) 38 | 39 | ## Cache, Process and Serializer components 40 | - [The Cache Component - symfony.com](https://symfony.com/doc/7.0/components/cache.html) 41 | - [Cache Invalidation - symfony.com](https://symfony.com/doc/7.0/components/cache/cache_invalidation.html) 42 | - [The Process Component - symfony.com](https://symfony.com/doc/7.0/components/process.html) 43 | - [The Serializer Component - symfony.com](https://symfony.com/doc/7.0/components/serializer.html) 44 | - [How to Use the Serializer - symfony.com](https://symfony.com/doc/7.0/serializer.html) 45 | 46 | ## Messenger component 47 | - [The Messenger Component - symfony.com](https://symfony.com/doc/7.0/components/messenger.html) 48 | - [Messenger: Sync & Queued Message Handling - symfony.com](https://symfony.com/doc/7.0/messenger.html) 49 | 50 | ## Mime and Mailer component 51 | - [The Mime Component - symfony.com](https://symfony.com/doc/7.0/components/mime.html) 52 | - [Sending Emails with Mailer - symfony.com](https://symfony.com/doc/7.0/mailer.html) 53 | 54 | ## Filesystem and Finder components 55 | - [The Filesystem Component - symfony.com](https://symfony.com/doc/7.0/components/filesystem.html) 56 | - [The Finder Component - symfony.com](https://symfony.com/doc/7.0/components/finder.html) 57 | 58 | ## Lock component 59 | - [The Lock Component - symfony.com](https://symfony.com/doc/7.0/components/lock.html) 60 | 61 | ## Web Profiler, Web Debug Toolbar and Data collectors 62 | - [Profiler - symfony.com](https://symfony.com/doc/7.0/profiler.html) 63 | - [Profiler: Your Debugging Best Friend - symfonycasts.com](https://symfonycasts.com/screencast/symfony/profiler) 64 | - [How to Create a custom Data Collector - symfony.com](https://symfony.com/doc/7.0/profiler/data_collector.html) 65 | 66 | ## Internationalization and localization (and Intl component) 67 | - [Internationalization - symfony.com](https://symfony.com/doc/7.0/best_practices.html#internationalization) 68 | - [Translations - symfony.com](https://symfony.com/doc/7.0/translation.html) 69 | - [Localizing an Application - symfony.com](https://symfony.com/doc/current/the-fast-track/en/28-intl.html) 70 | - [The Intl Component - symfony.com](https://symfony.com/doc/7.0/components/intl.html) 71 | 72 | ## Runtime component 73 | - [The Runtime Component - symfony.com](https://symfony.com/doc/7.0/components/runtime.html) 74 | - [New in Symfony 5.3: Runtime Component - symfony.com](https://symfony.com/blog/new-in-symfony-5-3-runtime-component) 75 | 76 | ## Clock component 77 | - [The Clock Component - symfony.com](https://symfony.com/doc/7.0/components/clock.html) 78 | - [New in Symfony 6.2: Clock Component - symfony.com](https://symfony.com/blog/new-in-symfony-6-2-clock-component) 79 | - [New in Symfony 6.3: Clock Improvements - symfony.com](https://symfony.com/blog/new-in-symfony-6-3-clock-improvements) 80 | -------------------------------------------------------------------------------- /topics/php-and-web-security.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: PHP and Web Security 3 | --- 4 | [Back to index](../readme.md#table-of-contents) 5 | 6 | # PHP and Web Security 7 | 8 | ## PHP API up to PHP 8.2 version 9 | - [PHP Watch by version](https://php.watch/versions) 10 | - [PHP 8.2: What's New and Changed](https://php.watch/versions/8.2) 11 | - [PHP 8.1: What's New and Changed](https://php.watch/versions/8.1) 12 | - [PHP 8.0: What's New and Changed](https://php.watch/versions/8.0) 13 | - [PHP 7.4: What's New and Changed](https://php.watch/versions/7.4) 14 | - [PHP 7.3: What's New and Changed](https://php.watch/versions/7.3) 15 | - [PHP Releases](https://www.php.net/releases/) 16 | - [PHP 8.2](https://www.php.net/releases/8.2/en.php) 17 | - [PHP 8.1](https://www.php.net/releases/8.1/en.php) 18 | - [PHP 8.0](https://www.php.net/releases/8.0/en.php) 19 | - [PHP 7.4](https://www.php.net/releases/7_4_0.php) 20 | - [PHP 7.3](https://www.php.net/releases/7_3_0.php) 21 | - [PHP 7.2](https://www.php.net/releases/7_2_0.php) 22 | - [PHP 7.1](https://www.php.net/releases/7_1_0.php) 23 | - [PHP 7.0](https://www.php.net/releases/7_0_0.php) 24 | 25 | ## Object Oriented Programming 26 | - [Classes and Objects - php.net](http://php.net/manual/en/language.oop5.php) 27 | 28 | ## Namespaces 29 | - [PHP Namespaces in 120 seconds - symfonycasts.com](https://symfonycasts.com/screencast/php-namespaces-in-120-seconds) 30 | - [Namespaces - php.net](http://php.net/manual/en/language.namespaces.php) 31 | 32 | ## Interfaces 33 | - [Object Interfaces - php.net](http://php.net/manual/en/language.oop5.interfaces.php) 34 | - [Type Operators - php.net](http://php.net/manual/en/language.operators.type.php) 35 | - [Type declarations - php.net](http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration) 36 | 37 | ## Anonymous functions and closures 38 | - [Anonymous functions - php.net](http://php.net/manual/en/functions.anonymous.php) 39 | - [Closure - php.net](http://php.net/manual/en/class.closure.php) 40 | 41 | ## Abstract classes 42 | - [Class Abstraction - php.net](http://php.net/manual/en/language.oop5.abstract.php) 43 | 44 | ## Exception and error handling 45 | - [Exception (class) - php.net](http://php.net/manual/en/class.exception.php) 46 | - [Exceptions - php.net](http://php.net/manual/en/language.exceptions.php) 47 | 48 | ## Traits 49 | - [Traits - php.net](http://php.net/manual/en/language.oop5.traits.php) 50 | 51 | ## PHP extensions 52 | - [Extensions (sorted by Membership) - php.net](http://php.net/manual/en/extensions.membership.php) 53 | 54 | ## SPL 55 | - [Standard PHP Library - php.net](http://php.net/book.spl) 56 | -------------------------------------------------------------------------------- /topics/routing.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Routing 3 | --- 4 | [Back to index](../readme.md#table-of-contents) 5 | 6 | # Routing 7 | - [Routing - symfony.com](https://symfony.com/doc/7.0/routing.html) 8 | 9 | ## Configuration (only YAML and PHP attributes) 10 | - [Creating Routes - symfony.com](https://symfony.com/doc/7.0/routing.html#creating-routes) 11 | 12 | ## Restrict URL parameters 13 | - [Parameters Validation - symfony.com](https://symfony.com/doc/7.0/routing.html#parameters-validation) 14 | 15 | ## Set default values to URL parameters 16 | - [Optional Parameters - symfony.com](https://symfony.com/doc/7.0/routing.html#optional-parameters) 17 | 18 | ## Generate URL parameters 19 | - [Generating URLs - symfony.com](https://symfony.com/doc/7.0/routing.html#generating-urls) 20 | 21 | ## Trigger redirects 22 | - [Redirecting to URLs and Routes Directly from a Route - symfony.com](https://symfony.com/doc/7.0/routing.html#redirecting-to-urls-and-routes-directly-from-a-route) 23 | 24 | ## Special internal routing attributes 25 | - [Special Parameters - symfony.com](https://symfony.com/doc/7.0/routing.html#special-parameters) 26 | 27 | ## Domain name matching 28 | - [Sub-Domain Routing - symfony.com](https://symfony.com/doc/7.0/routing.html#sub-domain-routing) 29 | 30 | ## Conditional request matching 31 | - [Matching Expressions - symfony.com](https://symfony.com/doc/7.0/routing.html#matching-expressions) 32 | 33 | ## HTTP methods matching 34 | - [Matching HTTP Methods - symfony.com](https://symfony.com/doc/7.0/routing.html#matching-http-methods) 35 | 36 | ## User's locale guessing 37 | - [How to Work with the User's Locale - symfony.com](https://symfony.com/doc/7.0/translation/locale.html) 38 | 39 | ## Router debugging 40 | - [Debugging Routes - symfony.com](https://symfony.com/doc/7.0/routing.html#debugging-routes) 41 | -------------------------------------------------------------------------------- /topics/security.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Security 3 | --- 4 | [Back to index](../readme.md#table-of-contents) 5 | 6 | # Security 7 | - [Security - symfony.com](https://symfony.com/doc/7.0/security.html) 8 | 9 | ## Authentication 10 | - [Authentication - symfony.com](https://symfony.com/doc/7.0/components/security/authentication.html) 11 | - [How to Build a Traditional Login Form - symfony.com](https://symfony.com/doc/7.0/security/form_login_setup.html) 12 | - [How to Load Security Users from the Database (the Entity Provider) - symfony.com](https://symfony.com/doc/7.0/security/entity_provider.html) 13 | - [How to Impersonate a User - symfony.com](https://symfony.com/doc/7.0/security/impersonating_user.html) 14 | - [How to Authenticate Users with API Keys - symfony.com](https://symfony.com/doc/7.0/security/api_key_authentication.html) 15 | 16 | ## Authorization 17 | - [Denying Access, Roles and other Authorization - symfony.com](https://symfony.com/doc/7.0/security.html#denying-access-roles-and-other-authorization) 18 | 19 | ## Configuration 20 | - [Security - symfony.com](https://symfony.com/doc/7.0/security.html) 21 | 22 | ## Providers 23 | - [How to Write a Custom Authenticator - symfony.com](https://symfony.com/doc/7.0/security/custom_authenticator.html) 24 | - [How to Create a custom User Provider - symfony.com](https://symfony.com/doc/7.0/security/user_providers.html#creating-a-custom-user-provider) 25 | 26 | ## Firewalls 27 | - [How to Restrict Firewalls to a Specific Request - symfony.com](https://symfony.com/doc/7.0/security/firewall_restriction.html) 28 | 29 | ## Users 30 | - [User Providers - symfony.com](https://symfony.com/doc/7.0/security/user_providers.html) 31 | 32 | ## Passwords hashers 33 | - [Password Hashing and Verification - symfony.com](https://symfony.com/doc/7.0/security/passwords.html) 34 | - [Registering the User: Hashing Passwords - symfony.com](https://symfony.com/doc/7.0/security.html#registering-the-user-hashing-passwords) 35 | 36 | ## Roles 37 | - [Roles - symfony.com](https://symfony.com/doc/7.0/security.html#roles) 38 | 39 | ## Access Control Rules 40 | - [How Does the Security access_control Work? - symfony.com](https://symfony.com/doc/7.0/security/access_control.html) 41 | 42 | ## Authenticators, Passports and Badges 43 | - [Authenticating Users - symfony.com](https://symfony.com/doc/7.0/security.html#security-authenticators) 44 | - [How to Write a Custom Authenticator - symfony.com](https://symfony.com/doc/7.0/security/custom_authenticator.html) 45 | - [Authenticator & The Passport - symfonycasts.com](https://symfonycasts.com/screencast/symfony-security/passport) 46 | - [Passport Badges - symfony.com](https://symfony.com/doc/7.0/security/custom_authenticator.html#passport-badges) 47 | 48 | ## Voters and voting strategies 49 | - [How to Use Voters to Check User Permissions - symfony.com](https://symfony.com/doc/7.0/security/voters.html) 50 | -------------------------------------------------------------------------------- /topics/symfony-architecture.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Symfony Architecture 3 | --- 4 | [Back to index](../readme.md#table-of-contents) 5 | 6 | # Symfony Architecture 7 | 8 | ## Symfony Flex 9 | - [Symfony 7.0 Documentation - symfony.com](https://symfony.com/doc/7.0/index.html) 10 | - [Flex: Compose your Application - symfony.com](https://symfony.com/doc/7.0/quick_tour/flex_recipes.html) 11 | - [Using Symfony Flex to Manage Symfony Applications - symfony.com](https://symfony.com/doc/7.0/setup/flex.html) 12 | 13 | ## License 14 | - [Symfony License - symfony.com](https://symfony.com/doc/7.0/contributing/code/license.html) 15 | 16 | ## Components 17 | - [Symfony Components - symfony.com](https://symfony.com/components) 18 | 19 | ## Bridges 20 | - [What are symfony bridges, bundles and vendor? - stackoverflow.com](https://stackoverflow.com/questions/11888522/what-are-symfony-bridges-bundles-and-vendor) 21 | 22 | ## Code organization 23 | - [Business Logic - symfony.com](https://symfony.com/doc/7.0/best_practices.html#business-logic) 24 | 25 | ## Request handling 26 | - [Symfony and HTTP Fundamentals - symfony.com](https://symfony.com/doc/7.0/introduction/http_fundamentals.html) 27 | 28 | ## Exception handling 29 | - [How to Customize Error Pages - symfony.com](https://symfony.com/doc/7.0/controller/error_pages.html) 30 | 31 | ## Event dispatcher and kernel events 32 | - [Symfony Framework Events - symfony.com](https://symfony.com/doc/7.0/reference/events.html) 33 | - [The HttpKernel Component - symfony.com](https://symfony.com/doc/7.0/components/http_kernel.html) 34 | - [The EventDispatcher Component - symfony.com](https://symfony.com/doc/7.0/components/event_dispatcher.html) 35 | 36 | ## Official best practices 37 | - [Symfony Best Practices - symfony.com](https://symfony.com/doc/7.0/best_practices/index.html) 38 | 39 | ## Release management 40 | - [The Release Process - symfony.com](https://symfony.com/doc/7.0/contributing/community/releases.html) 41 | 42 | ## Backward compatibility promise 43 | - [Our Backwards Compatibility Promise - symfony.com](https://symfony.com/doc/7.0/contributing/code/bc.html) 44 | 45 | ## Deprecations best practices 46 | - [Deprecations - symfony.com](https://symfony.com/doc/7.0/contributing/code/conventions.html#deprecating-code) 47 | 48 | ## Framework overloading 49 | 50 | ## Release management and roadmap schedule 51 | - [Symfony Roadmap - symfony.com](https://symfony.com/roadmap) 52 | - [The Release Process - symfony.com](https://symfony.com/doc/7.0/contributing/community/releases.html) 53 | 54 | ## Framework interoperability and PSRs 55 | - [Six good reasons to use Symfony - #6 Interoperability - symfony.com](https://symfony.com/six-good-reasons) 56 | - [Coding Standards - symfony.com](https://symfony.com/doc/7.0/contributing/code/standards.html) 57 | - [PSR-1: Basic Coding Standard - php-fig.org](http://www.php-fig.org/psr/psr-1/) 58 | - [PSR-2: Coding Style Guide - php-fig.org](http://www.php-fig.org/psr/psr-2/) 59 | - [PSR-4: Autoloader - php-fig.org](http://www.php-fig.org/psr/psr-4/) 60 | 61 | ## Naming conventions 62 | - [Method Names - symfony.com](https://symfony.com/doc/7.0/contributing/code/standards.html#naming-conventions) 63 | -------------------------------------------------------------------------------- /topics/templating-with-twig.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Templating with Twig 3 | --- 4 | [Back to index](../readme.md#table-of-contents) 5 | 6 | # Templating with Twig 7 | - [Creating and Using Templates - symfony.com](https://symfony.com/doc/7.0/templating.html) 8 | 9 | ## Twig syntax up to 3.8 version 10 | - [Twig for Template Designers - twig.symfony.com](https://twig.symfony.com/doc/3.x/templates.html) 11 | 12 | ## Auto escaping 13 | - [Output Escaping - symfony.com](https://symfony.com/doc/7.0/templating.html#output-escaping) 14 | 15 | ## Template inheritance 16 | - [Template Inheritance and Layouts - symfony.com](https://symfony.com/doc/7.0/templating.html#template-inheritance-and-layouts) 17 | 18 | ## Global variables 19 | - [How to Access the User, Request, Session & more in Twig via the app Variable - symfony.com](https://symfony.com/doc/7.0/templating/app_variable.html) 20 | - [How to Inject Variables into all Templates (i.e. global Variables - symfony.com](https://symfony.com/doc/7.0/templating/global_variables.html) 21 | 22 | ## Filters and functions 23 | - [Filters - twig.symfony.com](https://twig.symfony.com/doc/3.x/filters/index.html) 24 | - [Functions - twig.symfony.com](https://twig.symfony.com/doc/3.x/functions/index.html) 25 | 26 | ## Template includes 27 | - [Including Templates - symfony.com](https://symfony.com/doc/7.0/templates.html#including-templates) 28 | 29 | ## Loops and conditions 30 | - [For - twig.symfony.com](https://twig.symfony.com/doc/3.x/tags/for.html) 31 | 32 | ## URLs generation 33 | - [Linking to Pages - symfony.com](https://symfony.com/doc/7.0/templating.html#linking-to-pages) 34 | 35 | ## Controller rendering 36 | - [How to Embed Controllers in a Template - symfony.com](https://symfony.com/doc/7.0/templating/embedding_controllers.html) 37 | 38 | ## Translations and pluralization 39 | - [Translations in Templates - symfony.com](https://symfony.com/doc/7.0/translation.html#translations-in-templates) 40 | - [Pluralization](https://symfony.com/doc/7.0/reference/formats/message_format.html#pluralization) 41 | 42 | ## String interpolation 43 | - [Twig's string interpolation feature - twig.symfony.com](https://twig.symfony.com/doc/1.x/templates.html#string-interpolation) 44 | 45 | ## Assets management 46 | - [Managing CSS and Javascript - symfony.com](https://symfony.com/doc/7.0/frontend.html) 47 | 48 | ## Debugging variables 49 | - [The Dump Twig Utilities - symfony.com](https://symfony.com/doc/7.0/templates.html#the-dump-twig-utilities) 50 | --------------------------------------------------------------------------------