Skip to main content

Container-Interop support for Prophiler

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· 2 min read
Stephan Hochdörfer
Head of IT Business Operations

The Container-Interop project tries to "identify and standardize features in container objects (service locators, dependency injection containers, etc.) to achieve interoperability". This hopefully will lead to a new PSR some day. Being a fan of Prophiler which is a PHP Profiler & Developer Toolbar, I thought it would be cool to display all the calls to the get() and has() methods exposed by the Container Interop project, see the ContainerInterface.

Prophiler PSR-7 Middleware

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· 2 min read
Stephan Hochdörfer
Head of IT Business Operations

Prophiler is a PHP Profiler & Developer Toolbar which is part of the Phalcon project but can also be used as a stand-alone component, kind of like the Symfony Web Debug Toolbar or Z-Ray. What I like about Prophiler is that on the one hand it is super easy to install and on the other hand it offers a few nice adapters (e.g. PSR-3 logging or Doctrine integration) out-of-the-box.

Mobile Emulation in ChromeDriver

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· 2 min read
Stephan Hochdörfer
Head of IT Business Operations

As it turns out there are not many options when it comes to running a Selenium node on a mobile device. So far selendroid.io seems the best solution but it never really worked in our Selenium infrastructure, so I was looking for an alternative and came across this website which shows how to use the Mobile Emulation feature of Chrome via Selenium. And this is how it works. Either define the name of the Mobile device as it is defined in Chrome:

The Composer Path Repository

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· 2 min read
Stephan Hochdörfer
Head of IT Business Operations

Last week I gave my Composer for corporate use presentation at the code.talks 15 conference im Hamburg. In the section of my talk where I highlight how to work on multiple packages the same time (e.g. two applications sharing the same core functionality) I pointed to the audience to path repository feature of Composer. Unfortunately right after my session I began to realize that this is indeed the best feature we have out there when it comes to working on multiple packages the same time and to avoid the Satis or ToranProxy round trip. This is how it works: Add the following lines to your root composer.json file:

Configure Neo4J with Puppet

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· 2 min read
Florian Horn
Business Analyst Digital Sales

By starting a new project our team assembled a lightweight architecture application with the usage focused on Neo4J, a graph-based database. This is the first time we using a graph-based database and it was the first time to build up an automatic deployment process to install and configure the database.

Sorting Custom Types in Sculpin

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· One min read
Stephan Hochdörfer
Head of IT Business Operations

Recently I played around with Sculpin. Pretty quickly I ran into an issue: I created a custom data type called events and wanted to sort the events by date. It seemed not possible as I could not figure out how to influence the sorting order in my twig template. By accident, I came across this issue on gihub in which Beau Simensen explains how to influence the sorting of the records. In a nutshell this is how it works: Create a file app/config/sculpin_services.yml:

Running pdepend on PHP7

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· 2 min read
Stephan Hochdörfer
Head of IT Business Operations

Being a good citizen of the PHP community we do test out internal libs against the current PHP7 codebase. So far we had no issues but then at one day one of our Jenkins PHP7 jobs failed. After investigating a bit it turned out that the problem was not part of our codebase but part of of pdepend. The pdepend process died with the error message that "T_CHARACTER and T_BAD_CHARACTER are no longer defined" which is true. The error was already reported as an issue on Github. As I do not like broken jobs in Jenkins I was looking for a fix which in the end was pretty easy. The basic idea was to skip the execution of pdepend in our Phing script when running on our PHP7 buildnodes.