An Introduction to Using Salesforce's REST API with PHP
Salesforce is one of the biggest CRM services about. CRM stands for customer relationship management if you didn’t know. It comes with a powerful API that allow us to tap into Salesforce to create, retrieve, update and delete records. In this blog post we’ll take an introductory look at how we can use its REST API with PHP.
Looking Ahead to CakePHP 4.0

Last week the first alpha release of CakePHP 4.0 was made available for testing. This means that the next major version of CakePHP is getting nearer. This is a good opportunity to look ahead at the new and changing functionality of the next version of this PHP framework.
Make it hard to screw up driven development
How confident are you about deploying to production on a Friday? Should it really be an issue if you have the right tests in place? Chris Coyier’s Make it hard to screw up driven development post is well worth a read if you want to make your code safer to deploy at the end of a working week.
Six Lesser Known Composer Commands You Should Know
Composer is the go to package manager for PHP. If you’re a PHP developer you more than likely use it every day and run the commands require
, install
and update
frequently. What you perhaps don’t realise is that there are a load of other Composer commands at our disposal that can make working with the package manager a lot easier.
There are many commands available, but today I am going to share six that I use and find helpful on daily basis.
JavaScript Loading Priorities in Chrome
Addy Osmani takes a look at the loading priorities for JavaScript in Chrome.
WorldWideWeb - the World's First Web Browser
In 1990 Tim Berners-Lee invented the World Wide Web. He developed the first web server, web browser and web page. This web browser, the world’s first, was called WorldWideWeb (all one word to distinguish it from the World Wide Web).
Tim created the WorldWideWeb browser at CERN in Switzerland on his NeXT computer (a product of Steve Job’s company during his years away from Apple). This browser worked as both a viewer and editor of web pages. It only ran of NeXT machines and as a result was only grayscale (a limitation of the computers’).
It’s almost thirty years since Tim gave us the web and the first web browser. A group of developers and designers came together at CERN recently to rebuild Tim’s browser so that we can experience the web as it first was from the comfort of a modern browser. Compared with today’s browsers it is very simplistic, but it is fascinating to see how it all began.
How to be PHP 7.3 Ready When Working with Older Versions of PHP
PHP 7.3 was released at the end of last year, but for many of us working with the latest version of PHP is not an option for a while. We are often restricted by the servers that we have to deploy to which can often be a version or two behind.
This means that for many, the new features of PHP 7.3 will remain out of reach for some time. If this describes your situation then this post is for you. We’ll look at four things you can start doing now that will help make it easier to migrate your code to PHP 7.3 when the time finally does arrive.
What are PHP Heredoc & Nowdoc?
With the arrival of PHP 7.3 last month came some interesting changes to the existing heredoc and nowdoc syntaxes. However, not everyone I spoke to even knew that this syntax existed in PHP, so now seems like a good opportunity to take a look at what they are and how to use them.
Have you thought about casing?
This is an interesting look at how we use casing in our code. In his blog post Brendt argues that snake case is more readable than camel case. I particularly like this point that he makes:-
Readable code, reduces cognitive load. Less cognitive load means more memory space for humans to think about other things, things like writing business logic.
I’ve always preferred camel case over snake case, but I think that has been for purely aesthetic reasons over how easy they are to read.
Setting Negative Numbers to Zero in PHP
A simple little trick in PHP for when you need to make sure that a value doesn’t drop below zero. For example, you might be subtracting a discount from a basket total and not want the amount to be paid to become negative.