Symfony, along with Laravel, is one of the most widely used PHP (web application framework) frameworks. Symfony is very flexible and reliable, which is ideal for the development of large and complex web applications. Symfony was first released in 2005 and since then it has undergone considerable development to become the trusted PHP framework that it is today. In addition, numerous Symfony components are used by other PHP frameworks such as Laravel, Magento and Drupal.
The Symfony PHP Framework
Symfony is a collection of reusable PHP components, which can be used to build a PHP application in a structured way. Symfony also helps to build front-end dependencies such as TypeScript, JavaScript, stylesheets, images and other files. For this, Symfony Webpack Encore can be used, which allows a complex webpack configuration to be created with just a few lines of configuration.
Symfony’s philosophy is to pursue best practices and standardization and can be used as a very complete open source PHP framework. Symfony allows PHP developers to choose components that are useful to use or that are needed to solve a specific challenge. These components are maintained by the maintainers. This consists of a large group of experienced developers, who maintain the PHP framework Symfony. In addition, contributors from the PHP community can also develop on the Symfony framework, so the project is always in motion and regularly updated. To ensure this, Symfony has a very clear release path, so that every Symfony PHP developer knows well in advance which parts will be added and, in time, modified (including through the Backward Compatibility Promise). Because of this, the maintainability of
the framework on the long term of a high level.
In addition, Symfony has the other non-functionals Performance and Security in high esteem. Performance improvements are continuously made and there is actively monitored if additions or changes do not cause performance degradation.
Any security vulnerabilities are fixed very quickly, but more importantly, already in the design phase of an (addition to a) component, security is an integral part of the development. Because of this, relatively few vulnerabilities are found.
The quality of Symfony
To guarantee a stable application, it is important that all code is extensively tested. Symfony is committed to the quality of its own software, but also offers various tools to test an application in different ways. These include
security tests (CVE vulnerabilities), integration tests and unit test integration for almost all components.
Besides the quality of the framework itself, the Symfony framework offers good support to its users. For example, long (at least 4 years after release) support is offered on so-called ‘‘Long Term Support versions (LTS)’’.
Upgrading to newer versions of the Symfony Framework is straightforward, because it has a very robust backwards compatibility breaking changes promise. Hereby, breaking changes are made only on major releases. Already in previous versions, the PHP developers are
PHP developers of this by means of deprecation warnings.
Ibuildings & PHP Framework Symfony
Over 20 years ago Ibuildings added PHP as a permanent part of our modern software stack and over the years we have developed ourselves as true PHP specialists. We have used PHP and in particular Symfony for many of our clients to develop challenging and complex web solutions.
One of these customers is SURF, where we have built an application platform that enables second factor authentication. This platform consists of several applications, each of which has its own purpose. One of these applications consumes an API and has a simple user interface. For this we use a number of Symfony components, such as: Monolog, Security, Form, Translation, Webpack Encore.
In addition, smaller command line tools are also used, to build intuitive console applications. To share our quality assurance tools with the community, we use a Symfony Flex Recipe. We use this to easily unlock these tools in our own projects, but also other developers outside our organization can make use of it.
Want to know more about what we can do for you in terms of PHP and application development? Please contact us!