PHP ClassesReadying PHP 7 for its Release - Lately in PHP podcast episode 58 (22.4.2015, 09:27 UTC)
By Manuel Lemos
According to the proposed PHP 7.0 timeline, on March 16 started a period on which there will be only finalization and testing of the implementation of proposed features.

This was one the main topics commented by Manuel Lemos and Arturs Sosins in the episode 58 of the Lately in PHP podcast.

They also commented on important approved features like the scalar type hinting, exceptions in the engine, anonymous classes, and the proposal to have consistent function names.

They also talked about interesting articles like one about urgent maintenance tasks site owners need to perform, improving MongoDB applications with Symfony listeners and creating PHP daemon services.

Listen to the podcast, or watch the hangout video, or read the transcript to learn more about these interesting PHP topics.
Paul M. JonesA PSR-7 Web Router Implementation, and Bookdown Documentation (21.4.2015, 15:33 UTC)

From the Aura blog:

Our first 3.x package is now available for review, a PSR-7 implementation of Aura.Router. It includes some feature upgrades such as custom rules and more powerful route definitions.

On a side note, the package documentation uses Bookdown for its documentation. You can see the generated documentation here. Bookdown allows us to keep documentation sources in each library repository. We can then collect them all into a single “book” on the Aura site using a bookdown.json file with remote “content” elements.

Read the rest at the Aura blog.

Liip Drupal Dev Days 2015 wrap up (21.4.2015, 11:31 UTC)

Last week, I was at Drupal Dev Days in Montpellier with a few other Liipers. It was, as often is with such conferences in the Drupal community, greatly encouraging to see the passion and effort of the many Drupal developers there.

Throughout the week, hundreds of people were working on different projects in the “sprints” (as such code-marathons are called in the Drupal community). Drupal 8 core was (unsurprisingly) the biggest group, but there were many other efforts related to Drupal 8. I was primary involved in the Rules for Drupal 8 effort, which was a fairly large group. We managed to get quite a few issues solved, and the road to a user interface for Rules in Drupal 8 was begun, which is one of the biggest outstanding issues.

It was challenging work, at times, but there was a good mood in the group, and the D8rules team were really great at helping beginners getting started, so many thanks to them for that.

I was unfortunately forced to forgo the conference part of the event due to illness, but I hear it was great. In total, I think the organisers of DDD did a great job – especially with the food. So thanks to them as well. See you in the issue queues.

Christian StockerThis blog is now faster than ever (21.4.2015, 05:55 UTC)
After we changed silently to using WordPress a few weeks ago for this blog (from the ageing Flux CMS software), we now also upgraded the server software to the latest and greatest versions. We finally use HHVM 3.6, nginx with SPDY 3.1 support, deliver everything in SSL only (but of course redirect from port 80), updated our certificate to use SHA256, disabled all “known-as-weak” ciphers and protocols (sorry IE 6 users), do OCSP Stapling and even send an HSTS header for being extra secure. We also switched to a server not on the edge of the continent anymore and deliver it additionally via IPv6.
With all that, this site should be faster and more secure than ever. Enjoy!
(We also applied the SSL/SPDY settings to, so you may enjoy a better experience there as well)
Cal EvansInterview with Daniel Cousineau (21.4.2015, 05:00 UTC) Link
SitePoint PHPDrupal goes Social: Building a “Liking” Module in Drupal (20.4.2015, 16:00 UTC)

In this article, we are going to look at how we can create a Drupal module which will allow your users to like your posts. The implementation will use jQuery to make AJAX calls and save this data asynchronously.


Creating your Drupal like module

Let’s start by creating the new Drupal module. To do that we should first create a folder called likepost in the sites\all\modules\custom directory of your Drupal installation as shown below:

Initial folder structure

Inside this folder, you should create a file called with the following contents:

name = likepost
description = This module allows the user to like posts in Drupal.
core = 7.x

This file is responsible for providing metadata about your module. This allows Drupal to detect and load its contents.

Continue reading %Drupal goes Social: Building a “Liking” Module in Drupal%

Brandon SavageTechnical debt is costing you developers (20.4.2015, 12:00 UTC)

In the debate between developers and their employers, fixing technical debt is often seen as a cost center, a time suck that takes away from feature work. After all, when there are features to ship and clients to satisfy, taking the team off such projects so that they can rewrite what already works is seen […]

The post Technical debt is costing you developers appeared first on

PHP ClassesPHP and JavaScript Innovation Award Report April 2015 Edition - January 2015 nominees (20.4.2015, 07:42 UTC)
By Manuel Lemos
This is the April edition of the Innovation Award podcast hangout recorded by Manuel Lemos and Arturs Sosins to comment on the outstanding features of all the past month nominees and winners PHP and JavaScript packages, the prizes that the authors earned, starting with the nominees from the month of January 2015.

Listen to the podcast, or watch the hangout video, or read the transcript to learn why the nominated packages were considered to be innovative.
Stefan KoopmanschapFinding a job without a recruiter (18.4.2015, 11:30 UTC)

Earlier this week we had a discussion in the PHPNL Slack chat about finding jobs and using recruiters for this purpose. Some people had used recruiters to find their job and were stating that they might not have found their current job without the recruiter. I disagreed, and eventually promised to blog about it to share my ideas about finding a job without a recruiter.

About recruiters

First of all, funny enough, most developers seem to agree recruiters are (with a few exceptions) horrible people. Their only focus usually is money, not making the connection between a person and a company that seem to be a good fit.

I agree with the above. There are a few exceptions, people who really do care about the people that they represent as well as the companies they represent, but I’ve dealt with too many recruiters that:

  • alter CVs
  • send 10 CVs to a company at once
  • send random e-mails to everyone in their database, regardless of any matches in skills vs requirements
  • actually call people at work to try and get them to change jobs

And that list can go on and on and on.

Reasons for using a recruiter

Talking to people who have used a recruiter before, the main reason for using them was because recruiters have knowledge about jobs that they don’t have themselves. In the past you could just Google for jobs and find them, but these days using Google to find a job usually results in finding tons of recruiter websites, and not the sites of the actual companies looking for people. Does this means Google has no use when looking for jobs? It is perhaps less useful, but definitely not completely useless.

Another reason for using a recruiter is that they want to look for a job “below the radar”, and recruiters usually anonymize their CVs and profiles and hide the current employer. While this may sound like a valid reason for using a recruiter, I’ve seen CVs of candidates being offered to their current employer, or seen CVs that, even anonymised, were pretty clear in who it was.

Perhaps the most honest reason I’ve heard was “I’m lazy”. I believe this is also the only really valid reason for using a recruiter. I can’t counter this argument at all: If you’re lazy, using a recruiter is most probably the easiest way of finding a new job.

Reasons for not using a recruiter

First and foremost: The majority of recruiters do a horrible job focussed just on money. They don’t (seem to) care about the people they represent and the companies they represent, their only focus is the bonus they get out of it. They create a really toxic environment for jobseekers as well as companies with job openings. The fact that these days you can’t even use Google in a simple way to look for a job without finding dozens of recruiter websites is enough proof of that. Now if they were doing a good job finding matches, that would be OK, but in a lot of situations they lie, twist, hide the truth and misrepresent developers and companies. Using recruiters to find a job keeps this toxic environment alive. This alone should be enough reason to not use recruiters.

Keep the above in mind also for yourself and your image towards potential employers. I’ve heard of numerous situations where after a very nice job interview that was positive from both sides, either the developer or the employer got the message “yeah, the developer just isn’t interested” or “the company is not interested in hiring you”, while there was a clear interest. The reason they say there is no interest is because in the negotiations for the recruiter fee, the recruiter didn’t feel like they got enough money, so they lied to both parties. After a good interview, this reflects really bad on you. Based on an interview, your potential employer can get certain expectations, and when they hear you’re not interested (or worse yet, when they hear you think they offer way too little salary while you don’t actually think that) this reflects poorly on you.

Many recruiters are known for their bad business practices. I once went to an interview for a company that was really excited I was interested in working for them, because my CV was the perfect match for their job! We had a really good interview, up until the point where they asked me what kind of C++ projects I had done. I was confused. I had never done any C++, and surely this was not on my CV. “Well, your CV here lists you with a couple of years of C++ experience”. The recruiter had altered my CV to include experience I didn’t have to make me a better match, in the hopes of it not being noticed.

Another good example is the recruiter that I accepted on my LinkedIn. A couple of days later, I got several messages from peop

Truncated by Planet PHP, read more at the original (another 8268 bytes)

Anna FilinaCasual insults and flag burning in the dev community (17.4.2015, 18:07 UTC)

It is known, the dev community loves bashing. Bashing on Microsoft, on IE, on Java, on PHP, on frameworks, on conference organizers, on OSS leaders, on legacy code… bashing on pretty much anything that we personally dislike. This is not a good thing. Bashing is, sadly, so very ingrained in our community that most people have stopped noticing it. Every day, we tolerate a storm of casual insults, each of them seemingly mild, but together, these casual insults have nasty effects.

What kind of insults?

Just yesterday, I said that my son compiled his first Java program. Someone responded that teaching Java to kids should be considered child abuse. It was said in jest, but that doesn’t mean that it didn’t hurt. My son is only 11.

Another day, a guy tweeted that they’ll be celebrating the day of PHP’s death at Mozilla. In a Python chatroom, a guy said that if anyone is caught doing PHP *posts image of a Pythonista with a gun*. Everybody laughed because to them, it’s a joke. To me, a PHPer, it’s a threat. At a conference, a CTO went on stage and told the story about how their troops’ morale was low because they were using PHP. Being the only PHPer in the room, I felt unwelcome.

There’s also flag burning. It’s when you take a logo or a mascot of a company, product or technology and do something mean to it. Examples: Windows 10 logo with blood on it, a PHP elephant stepping on a Ruby gem and shattering it to pieces, Java logo with a skull instead of vapour, etc. Disfiguring logos is considered humour by many people in the dev community. To them, it’s friendly rivalry. To others, it’s alienating.


Some of the consequences of these jokes include making people feel uncomfortable when surrounded by those who use a different programming language, mocking them for using a different operating system, making them feel ashamed of stating their preferences, etc. I didn’t make this up: myself and others have observed this for years. It creates barriers between people who otherwise have a lot in common and could have collaborated on great projects together.

The consequences are real and it upsets me that people who make these jokes tell others to grow a thicker skin (a few years ago, they’d probably tell me to grow a pair). They completely dismiss the issue by saying that there are absolutely no consequences, rather than admitting that they simply don’t care about the consequences. I’ll give them the benefit of the doubt: maybe our dev culture so easily accepts these insults that they truly are unable to see them as insults.

Types of people

There are people who understand the effects these jokes, those who don’t and those who don’t care. I found that many of those who understand are often involved at the community level: bringing people together. Since their job is to unite, they are familiar with the effects of bashing. Their (important) jobs of facilitators don’t make them famous, which is why their opinions are often eclipsed by the opinions of the more famous framework authors, podcast hosts, professional bloggers, corporate evangelists, etc.

When I say famous, I mean 10k or more followers on Twitter. These people generate content for a living, which is why they generally don’t want others to question what they say. Choosing words carefully is a burden. When they make an inappropriate joke, they will get just enough retweets to validate their behaviour. If some of their followers were upset by the joke, they’ll be dismissed as oversensitive, an easy and baseless argument that shuts the door on any constructive dialogue. Some might even suggest that we educate those who got upset rather than those who made them upset.

You’ll find many exceptions, of course, but the pattern is there.

Diversity of technologies

Yes, it’s just a joke. But if we lived in a culture where bashing wasn’t so pervasive, some jokes wouldn’t fly. They’d be called for what they are: insults. If that PHP elephant from the above example would have stepped on a woman instead of a Ruby gem, there would be outrage. There has been a lot of education about sexism, so nobody can joke with “women can only code 3 weeks per month”.

But diversity also applies to technology choices. Nobody should be shamed for the language or browser that they use. We can discuss the merits of technologies with facts and benchmarks, but we can’t make jokes that have a very high potential of upsetting or offending people. Sadly, few people are having this conversation.

Are we allowed to speak at all?

I joke a lot and sometimes make mistakes. For example, there was this time I joked about a

Truncated by Planet PHP, read more at the original (another 2575 bytes)

LinksRSS 0.92   RDF 1.
Atom Feed   100% Popoon
PHP5 powered   PEAR
ButtonsPlanet PHP   Planet PHP
Planet PHP