A Micro Kernel was merged to the Symfony 2.8 branch on November 5th. This is an alternative to the traditional AppKernel used in applications built with the Symfony Standard Edition (SE) Distribution.
Let's study what is the difference between these Kernels and how they relate to PHP microframeworks like Silex, Slim and Lumen.
Web sites and applications are a tempting target for malicious activities. Rather than the classic defacing of a website (to show you hacked) is fast becoming a thing of the past. Today the motivation of attackers is to hide the fact that your site or application has been compromised.
Written by Jani Tarvainen on Tuesday November 3, 2015
Permalink -
Tags:
php, security, firewall, psr7
November of 2015 is shaping up to be an exciting month for developers working with the PHP language. Four significant projects are expected to be launched in the next thirty days: PHP 7.0.0, Symfony3, eZ Platform and Drupal 8.
In the JavaScript realm it's become a common practise to transpile code. This means that you write your code in the latest & greatest syntax and translate that to something that is widely supported.
That's how JS developers are deploying ES 2015 to production today, even though complete browser or server implementations don't exist.
Written by Jani Tarvainen on Saturday October 31, 2015
Permalink -
Tags:
hhvm, php7, php, transpiling
Search is an integral part of many web applications today. In addition to displaying search results, many content listings and other key functionalities are nowadays powered by search technology. These functionalities are often provided by separate search engine software, a daemon that is running in the background.
The LAMP stack (Linux, Apache, MySQL, PHP) has been the mainstay of millions for web developers for well over a decade. But how is it doing and where is it going? Is calling it LAMP even valid any longer? Let's examine this by going through each of the letters in the acronym.
Written by Jani Tarvainen on Saturday October 24, 2015
Permalink -
Tags:
php, mysql, lamp, linux
PHP is a shared-nothing platform. This means that each time a request comes to your server your PHP application starts anew. PHP-PM is a way of running PHP in an alternative way, by maintaining a pool of PHP applications waiting for a request to come in.
NoSQL has been the darling of backend developers clamouring for high performance. NoSQL is fine for many uses, but many systems still use MySQL (or other relational databases) for data storage - and will continue to do so in the future.
Written by Jani Tarvainen on Wednesday October 21, 2015
Permalink -
Tags:
mysql, lamp, php, nosql, mongodb
It's widely stated that the use of HTTP/2 requires SSL/TLS encryption. This technically not true, but as clients only support HTTP/2 via SSL it's a defacto-requirement. With browser and server support for the new protocol version, the only hurdle is the overhead of setting up encryption.
Written by Jani Tarvainen on Tuesday October 20, 2015
Permalink -
Tags:
ssl, tls, http2
In the previous article I wrote about the refactoring effort done on the TYPO3 CMS. During the discussion I found this related video discussing two different approaches of refactoring a CMS tool. The video is from 2013 and offers great perspective on the situation today.
TYPO3 is a LAMP CMS that has been in development since 1998, with initial development done by Kasper Skårhøj in Denmark. Typo3 is often overshadowed by more popular projects such as WordPress and Drupal, but it continues to be very popular in German speaking countries.
Written by Jani Tarvainen on Sunday October 18, 2015
Permalink -
Tags:
cms, typo3, symfony, neos
I've had the privilege of attending some great events this year: WordCamp, PHP / eZ Publish Summer Camp and finally DrupalCon. These were all great experiences for a professional working with Web Content Management, but the most food for thought came from a much more modest event: A two hour breakfast seminar titled "The right content for the right context".
Varnish is a popular reverse proxy which is used to accelerate page loading by caching copies as static HTML. Varnish does not support SSL/TLS, which is in practise required to take use of the new HTTP/2 protocol. This article describes one way of achieving high performance using Varnish and HTTP/2.
Written by Jani Tarvainen on Wednesday October 14, 2015
Permalink -
Tags:
http2, nginx, h2o, varnish
eZ Platform is the Open Source Content Management Platform from eZ Systems. Previously known as eZ Publish, the first version of the new product was launched in December 2015. Thanks to the Symfony Full Stack approach it is immediately familiar to Symfony2 developers, while extending it with content management features.
Written by Jani Tarvainen on Monday October 12, 2015
Permalink -
Tags:
symfony, ezplatform, php, cms
HTTP/2 supports a feature called Server Push. This allows the server to send stylesheets, javascript and other assets to client browsers without separate requests.
Written by Jani Tarvainen on Sunday October 4, 2015
Permalink -
Tags:
http2, serverpush, symfony
The Standard Edition of the Symfony2 Framework has relied on a PHP asset management framework called Assetic. It has been around for quite a few years now and continues to serve static assets such as packaged CSS and JavaScript files. But is it relevant any longer?
Time to first paint is the one of the most critical user experience for web sites. Essentially what this means is the moment the user sees something on their screens after following a link. This gives the perception of a fast load time, and first impressions count on the web.
Written by Jani Tarvainen on Sunday September 27, 2015
Permalink -
Tags:
http2, benchmark
The Drupal 8 development team is doing great improvements to the product regarding HTTP caching. With validation tags, contexts and so on it feels familiar to people working with Symfony2 framework and the FOSHttpCacheBundle.
Another interesting addition is an adaptation of Facebook's BigPipe rendering strategy, which downloads HTML snippets in parallel for improved load times. Symfony2 as a HMVC framework can load bits asynchronously, but there is room to improve.
Facebook as a company has become a major influence in lives of millions of developers. At first thought Facebook is the company which provides unstable APIs and annoying sharing widgets. But the work done by the Open Sourcing of internal products is changing this.