Blog

  • Passing the PHP 5.3 ZCE exam

    I passed the PHP 5.3 ZCE exam
    Today I passed the exam to become a PHP 5.3 ZCE. Like everyone else I had to sign the non-disclosure contract so I can’t go into detail about the questions that were asked, I can however tell my impressions of the exam and how prepared for it.

    Differences with the previous exam
    The first thing I noticed when I bought the PHP 5.3 exam voucher was that there was no option to order a bundle of preparation tests. There was however a free study guide. The new study guide can not be compared with the previous php|architect’s Zend PHP 5 Certification Study Guide. Were the new free study guide gives a quick overview (including some example questions) of each topic in the exam the original study guide starts with basics of PHP and really covers each topic thorough, except for the new PHP 5.3 features. (more…)

  • Separating your controller from your view

    What is a controller?
    A controller can best be described as the set of instructions and algorithms that are responsible for making your application actually doing something. Often based on user input. You could say your controller is your business logic.

    What is a view?
    The view is the presentation of your application, the part that our user sees. The view won’t do any processing (like math, checking data,…) it will just show data.

    Why don’t you separate your logic and view?
    I don’t know how or I don’t use a framework. Those are both often heard excuses when I ask someone why he doesn’t separate the logic and view of his application. Even when you (more…)

  • ImageMagick installing and exploring it, a good alternative for the GD library

    Although PHP GD library handles basic image operations quite good, you have probably run into the limitations of GD library as well, it is often slow, memory intensive and a bit complicated to use for advanced image effects. ImageMagick however is a very good alternative. It is an opensource software suite licensed under a BSD style license from IM itself. ImageMagick provides in all functionality that can be accomplished with the GD library but even goes a step further with support for more advanced image edit techniques. An example of such a technique is the recently added “liquid scaling” feature, this is a content aware scaling option. (more…)

  • Git tutorial, getting started with Git

    Below is a short comprehensive description of getting Git up and running in just a few minutes. I personally use OSX as a development machine and so the installation part of Git will cover an installation on OSX. If you like to install Git on another platform please take a look at the Git installation documentation. There are a lot of other ways to install Git, but the one described below seems to bring the least hassle on OSX.
    (more…)

  • Input validation with filter functions

    Introduction
    Although PHP has a lot of filter functions available, I found that still to many people are using (often incorrect) regular expressions to validate user input. The filter extension is simple, standard available and will fulfill the common validations. Below some pratical examples and things to consider when working with PHP filter functions.
    (more…)

  • Tips that prevent your mailing being marked as ‘spam’

    Introduction

    The last couple of weeks I was working on writing a mailing/newsletter system myself. One of the first questions that came up was “how do I prevent that my newsletter will be marked as spam”. Although this article has nothing to do with PHP I still like to put it in the spotlight. I will give some tips on how to avoid your mail being marked as spam, some you will know, others you won’t.

    How is determined if my email is spam?
    Mostly this is done by so called spam filters (server side or client side), some well known examples:

    Some of them work with the Bayesian filter. This filter is one of the (more…)

  • PHP alternative, lazy syntax

    Alternative, lazy what?

    Consider the next example:

    ';
         echo ''.$oItem->title.'';
         echo '
  • '; } ?>

    We could write the above like this: (more…)

  • Passing the Joel test – step 1 setting up a versioning system for Windows

    Until the last PHP conference I attended (the PHP benelux conference 2010) I used an normal Windows XP installation with a Zend Server CE installation on it at home, and yeah it worked. At the office we already used versioning, bug tracking and some other Joel points. I could see the advantages clearly, even if I was developing on my own at home but I just couldn’t find time and motivation to start converting my home server to something more serious. That is until I attended a track on the Joel test of lornajane. (Slides are available here). I thought it would be a nice idea to keep my Windows installation on the server during this adventure to pass the Joel test. (more…)

  • Introduction into SOAP, setting up a simple webservice with PHP SOAP

    I was asked to create a simple webservice that would allow us to transfer a intranet post to an external CMS. In this post I will explain the steps you must take to set-up a simple webservice with the PHP SOAP extension.

    The first step, create a simple class that we will use to request data from
    We will create a class with one method that returns a string with the parameter we called it. The method will accept one parameter and will check if the value is correct.
    (more…)

  • Limit the number of newlines in a string

    A very short blog post this time. I often use the following short function to limit the number of breaks/newlines in comments that people can submit on a news article or other user input. You can easily limit the number of characters in a comment by using the PHP strlen function, but the comment can still use a lot of vertical space on your website if the user uses 5 breaks in his comment. See the function below to prevent this type of comments:
    (more…)