8 things to consider when hiring a Freelance PHP Programmer


When hiring a Freelance PHP programmer, you can easily be inundated with choices on sites like Elance / ODesk and Freelancer.  So if you need some help narrowing down the choices consider the following points:

  1. Price, do you really want the cheapest PHP programmer in the world?  What value will that give you? Consider paying more for better quality work that is done right first time around and done in a timely manner.
  2. Experience / Portfolio / Ratings, do they have the right experience you are looking for with a portfolio to match and how are they rated online?
  3. Language, if you are both fluent in the same language, it will make communication so much easier
  4. Time Zone, consider how important it is that someone is available during your working hours, do you need to be able to easily get hold of them, when it’s convenient for you.
  5. Location and currency, makes it easy not having to deal with exchange rates and everyone will understand their tax obligations.
  6. Availability, linked to the time zone and other commitments, will this freelancer be working on your project 100% and will they be able to respond when you need them and will they will be available for support in the future if needed?
  7. Start small, test a new freelancer with a small project, to see how they complete it, if they are good you can always hire them again, this way you minimize your risks for a small investment.
  8. References, do they have references you can check with previous clients? A quick phone call now can reassure you and may save you a lot of potential headaches later.


Increase your concentration and productivity by beating noise with more noise!

“Working from a public space involves dealing with noise levels
that are for me, entirely counterproductive.”

Getting distracted by noise while programming?  Suffering from not being able to concentrate whilst developing and being interrupted by annoying noises?

“What about listening to a white noise app?”

You can beat that annoying noise with white noise, get focused and download a free app from Google Play called “White Noise Free” or on iTunes, or use this website Noisli.

“White noise is excellent,  I use it to drown everything else out.”

Why you shouldn’t use the CodeIgniter PHP framework… directly

There is a lot of discussion about which is the “Best PHP framework” and there are many good ones to choose from Laravel, Symfony, CodeIgniter, CakePHP, Yii, to name a few off the top of my head.  There are many different answers about which may be “best” depending on your needs and the use case.

Personally I’ve almost always used CodeIgniter, but never directly!  I did try Cake and Yii and read up on the other two I’ve mentioned, but never used them either yet.

And to add fuel to the fire, I think you should consider not using CodeIgniter directly, but instead use on of the “frameworks” built on top of and extending CodeIgniter.

To name but a few:

Personally I’ve used Bonfire a couple of times and GoCart many times.  I’ve found GoCart a great framework (because it’s built on top of CodeIgniter).  It’s actually designed as a lightweight e-commerce platform with a basic lightweight CMS.  However I’ve never really used all the features it comes with, instead it gives me a framework/platform to quickly build web applications on top of.  I can make use of it’s user management system straight away, I don’t need to build my own.  It’s also Bootstrapped, which is all that I need to quickly build clean and functional web apps.

I liken the framework choice to a choice about cars, you can ask what’s the best car for under $25,000 and you might be able to come up with a choice of a three of four, but all have slightly different advantages and options.  Then next years models will come out and there will be new choices, there may even be a new manufacturer with a brand new model…

Sometimes though it’s best stick with the tried and tested frameworks, just as car manufactures stick with their tried and tested “frameworks”.  The framework that makes an Audi A3, also makes a VW Golf as it does a SEAT and a Skoda.

So consider the above if you haven’t already looked into them.  There may well be similar offerings built on top of Laravel and Symfony which I haven’t investigated yet.

Whilst writing this, it’s made me think maybe I really should check out CodeIgniter on it’s own.  What frameworks do you use? Let me know in the comments below…

MySQL phpMyAdmin Tutorial, creating tables and joining tables together

Check out my first video tutorial on YouTube.

I’m demonstrating MySQL phpMyAdmin, to get you started creating a database, creating and populating two MySQL tables and a simple SELECT statement showing how to join the two tables together.

The text size does look a little small, so the next video will be zoomed in to make it easier to see, stay tuned for more.

If you have any questions you would like answered in a video, just leave them in comments below.



How to protect your PHP source code with encryption?

Worried about giving away your PHP source code?

Want to protect your code when delivering it to a clients hosting when it’s not paid for yet?

I know as this has happened to me. I found a delivery of PHP code for sign off encrypted, I hadn’t seen that before. When we asked the company they said they would remove the encryption upon final payment.

Encryption is definitely a useful tool for PHP developers. Make it a deliverable of your contract that the source code will be decrypted when paid for.

We also had another client who wanted to distribute PHP code on USB thumb sticks.  Not recommended, but it is possible to run it like that, using a SQLite database.  Given the accessibility of a USB thumb stick rather than a Linux server, we encrypted the PHP code.

Here’s a couple of PHP encoders that we’ve used:

So encode, obfuscate and protect your code, if you feel the need to!

Please leave a comment below or sign-up for email updates on new blog post.

GUI clients to help you manage a MySQL database

How do you manage a MySQL database through a GUI?

What client should you use for managing remote MySQL?

There are many options, I’ve almost always used phpMyAdmin and found it good enough for most common tasks. I’ve needed to use the console for loading large files of data for example. You can find other options out there listed below:

Which one do you use, do have a favorite GUI for managing MySQL databases? Let me know in the comments below…

If you liked this, be sure to subscribe below and be the first to get my next post…

What’s better for newbies to learn first PHP or MySQL?

It’s a good question for newbies to have, where to start?

What comes first PHP or MySQL?  The chicken or the egg?

You can learn both independently, but if you have no experience with either, I think it’s best to start with PHP.   Pretty quickly as you work through tutorials you will encounter MySQL.  They really go hand in hand for many applications.

If you have zero experience, there are other things you will need to learn also if you haven’t already…

  • HTML
  • CSS
  • Javascript / JQuery

If you are using file_get_contents you might want to check out PHP Simple HTML DOM Parser

PHP Simple HTML DOM Parser is a great tool to process HTML from remote sites.  The HTML is returned from the library. So that you can then search and iterate through it, this is great for scraping sites.  I didn’t write the code, but you can download it here and find some simple documentation:


Usage is really simple, just include the file:

If you liked this tip, be sure to subscribe below and be the first to get my next tip…

New to PHP and need some help with errors?

Wondering what’s going on with your variables?

Not seeing what you are expecting?

If you are a newbie learning PHP, one of the most useful functions to know is var_dump().

It dumps the contents of a variable, so you can see it in your web browser, it’s simple to use for example:


Then you can see what $my_variable contains. The data type and in the case of an array or an object. The structure will then be visible.
You will then know how to access the fields within the array / object.

Although I’m far from a newbie, var_dump() is an ever useful function. Use it to determine the value of variables and debugging your code.

var_dump() is your friend in many scenarios, remember it and use it while developing.

Example usage, if you want to see all the variables in a GET or POST request:


To all the variables in the SERVER global variable:


To check what’s stored in the session:


How to join three MySQL database tables together in a simple SELECT statement

Following on from my post of how to join two MySQL tables together, adding a third table is just as easy, but if you need an example this one extends the previous post by adding a third table.

For example I have a table of products, table of product categories and table of product suppliers, how to return the category description of each product and the supplier of the product?




In it’s simplest form you would join three tables based on the relationship between a key and it’s foreign key stored in another table:

SELECT p.id, p.product_name, c.description AS ‘cat_description’, s.supplier_name
FROM products p
INNER JOIN categories c on p.category_id = c.id
INNER JOIN suppliers s ON p.supplier_id = s.id

Using a well designed relational database and JOINed queries will make your PHP code simpler and more efficient by returning the data from two or more tables in one query.

Like this post? please leave a comment below: