Forest header image

Symfony Finland
Random things on PHP, Symfony and web development

Rewrite your legacy PHP apps in... PHP!

PHP has been around for a long time. During it's twenty year tenure of powering the web it has been used for a lot of things. PHP has been and continues to power a lot of ad-hoc, disposable web applications and quick turn around web sites.

In addition to this bulk of CMS work and quick hacks, PHP powers a lot of business critical applications. These tend to grow in complexity over time and many of these are 10+ years in age. As a language PHP has also matured along the way.

Today it is a perfectly viable option to gradually rewrite your application in modern PHP without the risky big bang rewrite. In fact, PHP is pretty much a perfect tool for this.

Written by Jani Tarvainen on Sunday September 20, 2015
Permalink - Tags: symfony, php, cms, legacy

Video: Symfony and Content Management

Content Management may appear simple to a layman, but when you end up working with multiple sites, multilingual, versioning, media assets and real user needs... it is not trivial. Symfony has been adopted by many popular CMSes. That's great news for all LAMP CMS devs!

Written by Jani Tarvainen on Friday September 18, 2015
Permalink - Tags: symfony, cms, drupal, wordpress, ezplatform

Rendering Riot.js tags in Twig using Node.js

Twig is everywhere. eZ Platform, Bolt, Drupal 8 and other popular projects have adopted it. At the same time Node.js and Web Components have risen to popularity. This article discusses merging the popular PHP templating engine Twig to Riot.js, a lightweight React-like user interface library using Node.js for server side rendering.

Written by Jani Tarvainen on Sunday September 13, 2015
Permalink - Tags: riot-js, php, symfony, twig, webcomponents

Pagekit is a Modern PHP CMS

A new Content Management System has joined the constantly growing group of LAMP CMSes using Symfony components as their base. Pagekit is a product built from scratch using modern technologies such as Vue.js, Symfony, Webpack and others.

Written by Jani Tarvainen on Saturday September 12, 2015
Permalink - Tags: pagekit, symfony, php, cms

Fast CMS release cycles for the win

It goes unsaid that the internet evolves at a rapid pace. Software is very flexible and on the web you can keep on upgrading continuously. It is, however, not immune to history and decisions made in the past. Many traditional Content Management Systems still focus on big releases, just like traditional desktop software has for decades.

Written by Jani Tarvainen on Thursday September 10, 2015
Permalink - Tags: symfony, drupal, wordpress, ezplatform, cms

Drupal and WordPress Community Participation Survey

In autumn of 2014 two popular PHP Content Management tools hoped for more participation from the community. Drupal lead Dries Buytaert was describing Drupal as a Public Good in his essay Scaling Open Source Communities. Meanwhile Matt Mullenweg of WordPress fame was calling for people to spend 5% of their efforts on the WordPress Core in a post titled Five for the Future.

Written by Jani Tarvainen on Sunday September 6, 2015
Permalink - Tags: php, drupal, wordpress

Leave a good legacy

The word legacy in the IT word almost exclusively negative connotations. Out of that context it is used more diversely. Consider the legacy left by individuals and organisations such Wolfgang Amadeus Mozart, Michael Jackson and the Greek and Roman Empires. The forementioned empires shed a lot of blood and caused misery, but they continue to live in our everyday lives after thousands of years. That is the power of legacy.

You can have good and bad legacy in IT as well. You could say that Windows ME was built on bad legacy where as Mac OS X was started on good legacy. But all of these have history behind them, just as the code you write today will have in the future. Most of your code is likely disposable, but it's still worth considering the legacy you leave.

Written by Jani Tarvainen on Sunday September 6, 2015
Permalink - Tags: php, javascript, symfony, legacy

Big Bangs and Software Subscriptions

In the last ten years there have been big changes in how people purchase and consume products and services. Napster, Kazaa and Torrent were technologies that provided a lot of the groundwork technology for companies like Spotify and Netflix.

Only lately have software subscriptions become more commonplace with Adobe, Microsoft and now JetBrains, a developer tooling company, is moving to a subscription based model.

It's easy to think this is just companies sourcing a steady stream of income (it is!) without benefits. But it's not all bad.

Written by Jani Tarvainen on Thursday September 3, 2015
Permalink -

Dogfooding your REST APIs

RESTful APIs are on the lips of everyone currently. Everyone is got one or will have one very soon. They are always underlined as being full REST APIs. But if you're not fully utilising your API internally, is it really complete and a priority for you?

Written by Jani Tarvainen on Thursday September 3, 2015
Permalink - Tags: php, webdev, symfony, drupal, wordpress, rest, api, ezplatform

Learning by doing in workshops, discussions and online interaction

I had the privilege of visiting the combined event for PHP and eZ Publish developers. The events are called PHP Summer Camp and eZ Publish Summer Camp respectively.

Both events are held in the same location and are blended together. This year the event was held in Rovinj, Croatia - the home country of the company Netgen, an active member of both Symfony and eZ Communities. And the driving force behind the Summer Camps.

Written by Jani Tarvainen on Monday August 31, 2015
Permalink -

Web developers are teenagers for life

This summer I had a discussion with a social worker who helps teens and young adults find their way in life. The things were the usual kind you would imagine - messing up with school, money or just not having any direction in life.

This is not unlike the life of a typical web developer. In this world it's easy to lose scale, the sense of what is important and just worry about secondary things in general.

Written by Jani Tarvainen on Sunday August 30, 2015
Permalink - Tag: webdev

eZ Platform and a Graph Database?

eZ Systems has been working on a Content Management System with a rather complex content model for over 15 years. Traditionally this data has been stored in a relational database, supported by a Search Engine built with Solr. The new Solr implementation for eZ Platform was introduced at the eZ Publish Summer Camp 2015 by Petar Španja.

Some time after the session we discussed more details such as the decision to go with Solr and not ElasticSearch and one thing stuck with me. Would a mapping of the content repository to a Graph Database make sense? Is there a use case for it and how feasible would it be?

Written by Jani Tarvainen on Saturday August 29, 2015
Permalink - Tags: symfony, neo4j, ezplatform, ez, arangodb, orientdb

Helsinki Symfony Meetup on September 17th

The second meetup in Helsinki, Finland for developers interested in Symfony is held on Thursday, in September 17th. More details on the programme to be announce once we get them confirmed, but be sure to reserve your spot over at

If you're intererested in web development, but not into PHP and Symfony - it is still worth while joining since Blackfire will support other languages in addition to PHP. Join us!

Written by Jani Tarvainen on Saturday August 29, 2015
Permalink - Tags: symfony, finland

Pickle to integrate PHP component and C extension management

There is an interesting project in the PHP domain called Pickle. It aims to replace PECL (incidentally pronounced 'pickle') as the platform to distribute and install PHP extensions in the same way we have come accustomed to doing with PHP components with Composer.

Written by Jani Tarvainen on Sunday August 23, 2015
Permalink - Tags: php, pickle, clang

Break down the silos, PHP developers

Much has been written about the renaissance of PHP. In most cases this is talked about by techies for techies. This tends to lead the discussion to the advances in technology. But technology is secondary to people and their motivations.

Written by Jani Tarvainen on Saturday August 22, 2015
Permalink - Tags: php, symfony, drupal, http, zend

The Reverse Sandbox Effect in Google

When launching a new site, it is commonly believed that Google places the site in a sandbox for a period after first indexing. During this period the site is indexed, but does not rank well in search results.

This is an automatic occurance, caused by the search algorithms trying to fight linking spam and abuse of other traditional SEO methods.

Written by Jani Tarvainen on Monday August 17, 2015
Permalink - Tags: seo, google

eZ Publish 4.x to 5.x Upgrade Paths

In November 2014 the last versions of eZ Publish were released (5.4 and 2014.11). This is the last version of the fully featured Open Source Content Management System, whose code base dates back to 2002. From this version onwards the legacy code is no longer included with the standard distribution and the product will be known as eZ Platform.

Written by Jani Tarvainen on Saturday August 15, 2015
Permalink - Tags: ezplatform, ez, php, symfony

Symfony has no model, but many

The Symfony Framework is promoted as a complete HMVC web application framework written in PHP. In practice most applications are built with MySQL using Doctrine or Propel ORM (Object Relational Mapper). It's easy to assume that this is something you're coupled with. But the Symfony Framework itself has no defined model.

Written by Jani Tarvainen on Saturday August 15, 2015
Permalink - Tags: symfony, php, node, mysql, mongodb, elasticsearch, redis