Best Symfony Hosting: Which Host Is Right For Your Site?⚙ Filter Results
Oops! No Hosting Plans Match Your Search
You've selected a combination of features that none of the web hosts we profile offer. We suggest you remove your last filter or reset & start again.
Ask Our Experts
Need help with your hosting? Tell us exactly what you are looking for and we’ll do our very best to help. Please allow one working day for a response.
Please fill in all fields.
Thanks! Your request has been sent. We'll reply within 24 hours.
Recommended Host for Symfony
What is Symfony?
Symfony is a collection of powerful PHP development tools that includes a set of independent components and a full-fledged development framework that rides on top of those components. Symfony is at the core of a number of popular PHP applications and frameworks, including Drupal, PHPbb, and Laravel.
What is an Application Framework?
A framework is an integrated collection of tools, templates, and methodologies for developing a software application. A framework doesn't just provide a bunch of independent tools and libraries. Rather, the benefit of a framework is in the integration of all its parts and the overall effect this has on the way you develop an application.
Application development frameworks provide:
- Modules for frequently needed application features.
- Tools for speeding up or automating application development tasks.
- Methodologies or implementation patterns for building new features.
- Structure for how to organize code and architectural components.
- Philosophy of how to go about designing, building, and deploying a software application.
Why should I use an application development framework?
- Why re-build the same features, over and over, for every new application?
- Why do things manually when they could be automated?
- Why do analogous tasks in different ways?
- Why build from scratch when most applications are organized on similar principles?
- Why walk alone when a community of developers has gone ahead of you?
The obvious answer to these questions is: You shouldn't do those things. Using an application development framework helps you avoid those fundamental errors in programming judgment.
It will probably save you a ton of time, too.
Symfony is an application development framework for building web applications in PHP. There are several other popular PHP frameworks, so let's focus on a couple things that really make Symfony stands out.
Symfony is highly modularized, more so than almost any other similar framework. It consists of a core set of individual modules which each provide a fairly granular amount of functionality. These components were designed so that they could be used individually. Indeed, you can add any one of them by itself to a project to get a specific feature benefit.
The key modules include:
- BrowserKit is a simulated web browser.
- ClassLoader autoloads classes as needed.
- Config manages configuration settings and resolves conflicting configuration statements.
- Console assists with running application functions from a terminal window.
- CssSelector translates CSS into XPath.
- Debug helps developers track down bugs.
- DependencyInjection manages the creation of objects.
- DomCrawler assists with DOM traversal.
- EventDispatcher acts as a mediator between event listeners and the objects that trigger those events.
- ExpressionLanguage evaluates the truth value of expressions without executing them.
- Filesystem provides basic file and directory functions.
- Finder finds and fetches files and directories (even if it doesn't already know where to look).
- Form creates HTML web forms.
- HttpFoundation adds object orientation to HTTP.
- HttpKernel provides tools for building HTTP based frameworks.
- OptionsResolver eases the creation of objects that need option arrays.
- Process runs commands inside sub-processes.
- PropertyAccess adds simple read/write (accessor) methods to objects.
- Routing maps HTTP requests to application methods and arguments.
- Security provides a sophisticated authorization scheme.
- Serializer translates structured data from one format to another.
- Stopwatch measures execution time for code.
- Templating assists with the creation of views and template.
- Translation helps with internationalization and localization.
These modules each provide a fairly specific set of features to application development. They can be used independently. In fact, they are developed and maintained independently --” each individual module has its own Github repo.
Taken as a whole, and with added structural components, they create a powerful development framework.
But the modularity doesn't end with the design of the framework itself. Additional functionality beyond these core modules can be added to the application by plugins. User management, mail server interaction, CSS preprocessing --” all these common applications features, and many others, can be added via plugins.
This structure also encourages application development to be done in a similarly modular way, which promotes re-use and also generally good programming practices.
The Symfony development team says over and over that it isn't just a set of tools and a framework: it is also a philosophy and a community.
The Symfony community provides an outstanding level of support and documentation, from detailed instructions on how to use each component, to talking points for explaining development frameworks to various stakeholders and decision makers.
This focus on the "soft" aspects of software development promotes a high degree of overall programmer satisfaction and quality of code.
At a minimum, Symfony requires:
- PHP 5.3.3 or higher (Version 4 will require at least PHP 7.1)
- JSON enabled
- ctype enabled
- php.ini must have date.timezone setting.
Other components and settings are highly recommended. Please see the complete Symfony Requirements guide.
Also, applications built on Symfony might additionally require other features, modules, or settings at the server level.
Many web hosts already support Symfony, or can be configured to support it.
Symfony Hosting Frequently Asked Questions
What is Symfony?
Symfony is a PHP framework designed to speed up web application development.
Who develops Symfony?
Symfony is developed by SensioLabs, an open-source software company. They are helped by a vast network of community contributors.
Why are there so many modules?
Modules provide Symfony with flexibility. If you are looking to develop a complex application with multiple functions, you can install the full version of Symfony (the Full Stack). If you have specialized needs, you can pick and choose the functions that you require. Or if you just want to take advantage of one or two features, you don't need the whole framework. Just use an individual module to enhance your project.
Can I use Symfony with other PHP frameworks?
Yes. PHP is designed to add to your existing tools, whether that's simply PHP or PHP and another PHP framework. In fact, because Symfony is a module build, you only need to use the pieces that are appropriate for your application, so you can use it as necessary, and then go back to utilizing your other resources.
How does Symfony version 3 compare version 4?
The big difference is that Symfony 4 uses PHP 7, and Symfony 3 uses PHP 5. Applications built with Symfony 4 require PHP 7 to run. Version 4 uses a new application structure called Flex. Otherwise, the differences are minor, and moving to version 4 shouldn't break existing projects.
When Symfony gets updated, will my code still work?
Symfony is designed so that your code will continue to work, regardless of updates. Updates are built around the existing code and only provide bug fixes, security fixes, or improved functionality. Existing functionality should remain intact. However, you should always review release notes prior to updating, to make sure no existing features or code have been impacted.
What type of support is available for Symfony?
Community-based support is provided through an online forum, mailing list, and IRC channel. Additionally, a large library of documentation, including user guides, installation guides, and samples are available to assist users. Symfony also offers personalized, paid support for a range of prices.
Is Symfony training available?
Yes. SensioLabs, the creators of Symfony, offers training courses and certifications in English, French, German, and Spanish. These are offered in several countries around the world. Additionally, there is a large library of documentation available on their site to get you started and to help you master the Symfony framework.
Can I use Symfony with a shared hosting plan?
Yes, but it is not recommended. Any web application that relies on dynamic content, as in something built with PHP, is going to require more resources than a traditional, publishing-only website. Depending on the level of interaction or the number of visitors you get, this can quickly become too much for a shared plan to handle.
On the other hand, if your interest is simply learning Symfony, a shared hosting plan should work just fine.
What type of license is Symfony issued under?
Symfony is released under the MIT license. This is very similar to the GNU GPL license, and, in fact, is considered GPL-compatible. It allows users to download, use, modify, and redistribute the source code in any way (even for use in proprietary software), provided the MIT license is distributed with the modified software.
How can I contribute to Symfony?
Like most open-source software, Symfony welcomes community support. The easiest way to contribute is by submitting a bug report. You can also contribute to their documentation library or write a translation. If you are a developer, you can contribute by submitting a patch, either for a bug or a proposed enhancement. At the time of this writing, they were not accepting new core contributors, but if you are interested, you should check their website to see if this has changed.
How can I keep my system up-to-date?
Symfony allows you to subscribe to their mailing list to be notified any time an update is available, that way you can always make sure you're using the latest version.