Tagged with PHP

PHP programming

AssetCompress 0.3 released

Today, I tagged the 0.3 release for my AssetCompress plugin. A few new features have been added, and several issues resolved. You can get the code from github

Build tool

The AssetCompress shell is now able to generate all the build files that are named in your project. This is great for integration with build/deployment scripts.

Getting PHPUnit setup from Git

I recently had a fun idea, that I wanted to try and implement for PHPUnit. I really like coloured console output. PHPUnit already has the option for coloured output, but I wanted more. I wanted to get coloured text for F, E, S, and I that showed up in the test run progress.

CakeResponse in CakePHP 2.0

Previously I wrote about the changes that have been done for the request handling in CakePHP 2.0. Response handling is another subsystem that has received a significant facelift. As with request information and functionality, response related features were spread across several objects. Controller, RequestHandler and Dispatcher all had a slice of the pie.

The CakeRequest object in CakePHP 2.0

Work on CakePHP 2.0 is moving along, and I wanted to take some time to discuss and explain one of the sizeable refactorings that has been done for 2.0. In previous versions request parameters were just a bunch of arrays that were copied to the various places they were needed in the framework.

PHP floats, localization and landmines

Since PHP lacks a decimal type, it only has floats and integers. Arbitrary precision floating points are reasonable once you stop expecting them to be precise. I’ve learned to deal with PHP’s floats, and arbitrary precision floats in general. However, floats behaving totally different based on the current locale, was something I didn’t expect.

E_NOTICE is your friend

Errors and error reporting an important part of the development and debugging cycle. In interpreted languages, there are a number of runtime errors that can really help you debug your code. Some languages like python don’t give you a way to make the errors go away, but for better or worse PHP does.

Asset Compress plugin released

I’ve just released another plugin for CakePHP. This one helps reduce the number of HTTP requests made by helping you concatenate and compress your asset files. I’ve been working on it on and off for about 3 months now, and am pretty happy with where it is. It includes both server side and client side libraries for loading compressed files.

The value of a simple release process

I’ve been doing many of the CakePHP releases, since “the great framework apocalypse of imminent doom”. Between then and now, CakePHP has had quite a few releases. During these past few months, I’ve really begun to understand the value of a simple release process. When I initially started doing releases for CakePHP, our release process involved many steps and I was doing them all manually.

Using custom Route classes in CakePHP

New for CakePHP 1.3 is the ability to create and use custom route classes for your application’s routing. In the past the router did double duty, managing route collections and routes were just arrays. In 1.3 Router underwent some surgery and CakeRoute was extracted as an object to represent a single route. While Router was left as a manager of routes.