Creating immutable objects in PHP

You may have seen the \DateTimeImmutable class being used, and wondered why is this different from the \DateTime class? I guess it’s the same…but immutable, right? Why would I want to use an immutable object? Here’s a brief overview. ...

27 January, 2019

Getting Laravel Homestead to work with larger file uploads

I’ve been working on a Laravel project which uses relatively large file uploads (about 30MB - 120MB). My development environment is Laravel Homestead - a great, pre-packaged Vagrant box for Laravel development. If you haven’t heard of this I highly recommend you check it out - it’s a great way to get up and running with Laravel, but it doesn’t seem to play well for larger file uploads through forms (over about 5MB). My forms were either hanging or returning an nginx ’too large’ error. Here are some of the settings which I’ve had to tweak to get Homestead working nicely with larger uploads. ...

12 January, 2015

CodeIgniter Math CAPTCHA library, with multi-language plain text questions

I’ve just released a new Math CAPTCHA Library for CodeIgniter, which can use plain text English words for numbers and random question phrases. It’s also supports multiple languages (as it uses the core language library) and both addition and multiplication. It’s still in the early stages so it needs to be put through its paces, but hopefully the CodeIgniter community will find this a nice alternative to the regular image CAPTCHA or simple math CAPTCHA. ...

9 September, 2012

Check and clear cache in CodeIgniter with this Output extension

I decided to write an extension to the CodeIgniter core Output library as it’s great for working with cache but doesn’t contain any mechanisms for clearing or managing the cache. ...

22 April, 2012

Book Review: CodeIgniter 1.7 Professional Development by Adam Griffiths (Packt Publishing)

CodeIgniter 1.7 Professional Development by Adam Griffiths is a great introduction to CodeIgniter - and the Model-View-Controller (MVC) design pattern in general - for intermediate and advanced PHP developers. I was asked to write a review of this book by Packt Publishing and this is now my third CodeIgniter specific book which I’ve studied. I’ve been working with CodeIgniter on several projects for over two years now so I’ve become quite familiar with the framework, but I’m always interested to see how other people approach problems and use the libraries available. There’re always a few hidden gems which are waiting to be discovered! ...

15 August, 2010

Book review: CodeIgniter 1.7 by Jose Argudo Blanco and David Upton (Packt Publishing)

The CodeIgniter framework is a secret weapon for many web developers as it allows you to quickly build complex web applications in a structured and organised way. I started using CodeIgniter over a year ago now so I’ve approached Packt’s CodeIgniter 1.7 by Jose Argudo Blanco and David Upson as a way of expanding upon when I’ve already learnt from the user guide, forums and a book which I had previously read from Wrox called Professional CodeIgniter by Thomas Myer. ...

27 February, 2010

'PHP Nature' missing from 'Project Natures' in Aptana Studio 2.0

For some reason, even though I have the PHP Development Tools (PDT) installed in Aptana Studio (2.0), I’m not able to select ‘PHP nature’ in the ‘Project natures’ of an imported project. I can start a new PHP Project which will have the ‘PHP nature’ selected as primary nature, but this doesn’t even appear as an option in imported projects. The only two natures that are available are ‘Remote Nature’ and ‘Web Nature’. The ‘PHP nature’ adds some really useful functions, like grouping my @todos into Aptana’s Tasks view and also other handy things like auto-completing PHP docblocks. ...

13 January, 2010

CodeIgniter 1.7 by Jose Argudo Blanco and David Upton

I was recently sent a copy of a book from Packt Publishing to read and review called CodeIgniter 1.7 by Jose Argudo Blanco and David Upton. I’ll be interested to see how the book compares to what I’ve learnt so far about CodeIgniter (>1 years experience CodeIgniter and >4 years php) and see what else it can offer, especially in terms of planning and managing application projects. The description on the Packt Publishing website says: ...

22 December, 2009

CodeIgniter 1.7.0 Released

It’s that wonderful time again! CodeIgniter 1.7.0 has been released, so it’s time to upgrade. http://codeigniter.com/user_guide/installation/upgrade_170.html Upgrading looks fairly straight forward - here are some notable changes (http://codeigniter.com/user_guide/changelog.html): ...

24 October, 2008

Drupal 5.6 and register_globals

As of Drupal 5.6 you will no longer be able to install the CMS onto a server with register_globals enabled. The notice on the Drupal website says: We no longer support servers with the PHP directive register_globals set to on. Attempts to install Drupal 5.6 when register_globals is enabled will fail. Current installations will continue to function, but will display an error on administration pages and the status report. ...

25 January, 2008