All Drupal and no WordPress makes Jack a dull developer
In 2015 I had the chance of visiting different conferences focusing on specific CMSes: WordCamp Finland in May, eZ Summer Camp in August and DrupalCon in September.
Symfony Finland
Random things on PHP, Symfony and web development
In 2015 I had the chance of visiting different conferences focusing on specific CMSes: WordCamp Finland in May, eZ Summer Camp in August and DrupalCon in September.
Asynchronous programming has become a synonym for high performance in server side web applications in the recent years. This is largely due to the rising popularity of JavaScript and Node.js, in which everything is async by default.
eZ Platform is a Content Management System built with the Symfony Full Stack framework. While this may be clear to developers who have worked with it; it maybe somewhat vague for the unitiated. Especially when compared with Concrete5 or Drupal, which have adopted Symfony components into their core.
Any complex piece of software needs to keep evolving to maintain it's relevancy. Symfony2 itself was instrumental in the popularisation of Dependency Injection and other cornerstones of contemporary PHP, but the world keeps turning and Symfony needs to keep up.
Content is King and the RESTful API is the royal chariot. The market is bursting with options of various kind of Content API options all promising to catapult the value of content to new valuable heights through syndication or unlocking unparallelled mobile experiences.
Let's take a look at three approaches for Content APIs; Content as a Service Platforms, a RESTful CMSes and an API Platforms. You could use any of these to power a website or an application.
Menus are a vital part of any web application or a website. Content Management Systems are traditionally a strong contender in this field as they are at their core just tools to create navigatable views to a pool of content. The Symfony Framework on the other hand is neutral when it comes to menus.
Virtualized servers have been the norm for years now. Deploying to a VPS (Virtual Private Server) is a handy option that gives you complete control over the operating system. VPSes are preferred method for many developers and while the PaaS hype has peaked, "the cloud" is still a great option to have.
2015 was yet another year of rapid technical development in the world of the web. JavaScript was (and continues to be) the poster child of progress which is supposedly the answer to all of life's problems. Before JavaScript there were other messiahs, Java, NoSQL and Responsive Design to mention a few.
PrestaShop is a popular eCommerce platform built on the LAMP stack. Since it's inception in 2005 it has gone through a number of iterations, despite only being in version 1.6 currently.
Migrating sites to HTTP/2 is a simple task. Simply upgrade your web server and procure a valid certificate and you're done! That's it for something small like your blog, but complex sites built comprising of multiple subsystems and 3rd party client functionalities likely require more effort.
Microservice architectures remain popular and microframeworks of all sorts are an essential part of the scene. At the end of November with the release of Symfony 3.0 (and 2.8) the Symfony Full Stack Framework received an option to use a lighter bootstrap, a Microkernel in Symfony terms.
In the previous articles we have evaluated PHP performance on different runtimes, adding server resources (CPU & RAM), and comparing the Symfony Proxy and Varnish - using eZ Platform - a CMS built on the Symfony Framework.
Now let's try an unconventional method of executing PHP applications, PHP-PM.
In the previous articles we have evaluated PHP performance on different runtimes (PHP 5.6, HHVM, PHP 7) as well as how it behaves when adding server resources (CPU & RAM) using eZ Platform - a CMS built on the Symfony Framework.
In production environments Symfony and eZ Platform are likely ran behind the Varnish Reverse Proxy, which we'll evaluate next by comparing it to the built in Symfony Proxy.
In the previous article in this series we took a look at how different runtimes affect Symfony performance, by comparing PHP 5.6, HHVM 3.11 and PHP 7.0.1. The conclusion was that both HHVM and PHP 7 offer significant improvements in performance without adding server resources. In this article we'll look at how adding them affects performance.
The timespan between launches was PHP 5 to 7 was long, but feature and performance wise there were a number of improvements in the 5.x series. For performance the greatest leap was inclusion of the Opcode cache by default since 5.5.
Benchmarks are the mother of all click baits. They draw people like flies, create controversy and make people jump to conclusions. For raw computation such as video encoding benchmarks can be very effective at demonstrating differences between different technologies.
For the dynamic environment web applications run in, benchmarks rarely represent reality and are more or less synthetic. Yet web benchmarks have got their place to give ballpark figures of differences.
React.js is often thought of as as a front end technology. They can, however be rendered on the server side too - using JavaScript. This naturally turns the scale towards Node.js, but PHP with the v8js installation can handle it too.
Let's see how to merge together v8js and the Symfony Microkernel, making it possible to set the initial state of server rendered components using a PHP backend.
There are plenty of great tools for debugging PHP applications like ones built with Symfony, but catching reasons for slow processes in production can still be a tough cookie.
On December 15th 2015 eZ Systems released their new generation of content management products. Building on a foundation from 1999 the new product suite sheds all legacy code and is built on the Symfony Full Stack Framework.
React is an interface library that is rapidly gaining ground. It can be considered as similar to what Angular and Ember, for example, are. As opposed to Angular and Ember React.js focuses on User Interfaces alone, being neutral on routing and other duties. React can also be rendered on the server side, which is not unique - but very natural to it.