Sjoerd Maessen blog

PHP and webdevelopment

PHP hook, building hooks in your application

with 3 comments

Introduction
One of the real challenges in building any type of framework, core or application is making it possible for the developers to hook into the business logic at specific points. Since PHP is not event based, nor it works with interrupts you have to come up an alternative.

The test case
Lets assume we are the main developers of a webshop framework. Programmers can use our framework to build complete webshops. Programmers can manage the orders that are placed on the webshop with the order class. The order class is part of our framework and we don’t want it to be extended by any programmer. However we don’t want to limit to programmers in their possibilities to hook into the orders process. Read the rest of this entry »

Share

Written by Sjoerd Maessen

May 23rd, 2011 at 8:02 pm

Posted in API

Tagged with , , ,

Passing the PHP 5.3 ZCE exam

with 3 comments

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. Read the rest of this entry »

Share

Written by Sjoerd Maessen

December 30th, 2010 at 3:54 pm

Separating your controller from your view

without comments

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 Read the rest of this entry »

Share

Written by Sjoerd Maessen

August 9th, 2010 at 12:08 pm

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

without comments

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. Read the rest of this entry »

Share

Written by Sjoerd Maessen

July 19th, 2010 at 7:20 am

Posted in API,Server

Tagged with ,

Git tutorial, getting started with Git

with one comment

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.
Read the rest of this entry »

Share

Written by Sjoerd Maessen

June 14th, 2010 at 7:23 am

Posted in Server

Tagged with ,

Input validation with filter functions

with 2 comments

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.
Read the rest of this entry »

Share

Written by Sjoerd Maessen

June 3rd, 2010 at 8:27 am

Posted in Security

Tagged with , ,

Tips that prevent your mailing being marked as ‘spam’

with one comment

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 Read the rest of this entry »

Share

Written by Sjoerd Maessen

May 3rd, 2010 at 7:13 am

Posted in Mail

Tagged with , ,

PHP alternative, lazy syntax

without comments

Alternative, lazy what?

Consider the next example:

  1.  
  2. < ?php foreach($aNewsItems as $oItem) {
  3.      echo ‘<li>’;
  4.      echo ‘<a href="/news/’.$oItem->id.‘-’.$oItem->rewrite.‘.html">’.$oItem->title.‘</a>’;
  5.      echo ;
  6. } ?>
  7.  

We could write the above like this: Read the rest of this entry »

Share

Written by Sjoerd Maessen

April 12th, 2010 at 7:22 pm

Posted in syntax

Tagged with ,

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

without comments

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. Read the rest of this entry »

Share

Written by Sjoerd Maessen

March 20th, 2010 at 10:00 am

Posted in IDE,Server

Tagged with , ,

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

with 2 comments

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.
Read the rest of this entry »

Share

Written by Sjoerd Maessen

February 11th, 2010 at 1:26 pm

Posted in SOAP

Tagged with