From the blog:
Dealing with human readable network addresses
network_expand_range()
and network_compact_range()
allow the expansion and contraction of IP addresses or ranges as human readable input.
Executing a callback for all files in a directory
directory_walk
allows running an arbitrary callback on all files in a deep directory structure.
Implementing row level access control in CakePHP
The ACL Component in CakePHP is very powerful and can be used to solve a wide variety of access control problems. In this tutorial, we provide a step-by-step guide for implementing row level access control to a model.
Creating a community in five minutes with CakePHP
CakePHP’s automatic hashing makes things a lot harder than they need to be, and simple tasks (e.g. a registration page) become annoyingly difficult.
Here, we build a complete community based website in five minutes using Cake best practices, with the following features:
- Account registration
- Login and logout
- Account management page
- Password retrieval
Repository content moved to the blog
I have just finished moving all of my repository content to separate posts in WordPress. I also decided to get a little tricky and manually imported all of the old comments into WordPress too.
Better Error Handling with CakePHP
CakePHP is a wonderful framework, but it really drops the ball when it comes to practical error management. In production environments (DEBUG = 0), only 404 or 500 errors are displayed to the user, and no errors are written to the log files.
To solve these two problems we override php’s error handler to enable production error logging, and cake’s error handler to allow forward facing error pages.
Viewing binary data as a hexdump in PHP
hexdump()
allows you to dump a binary data stream into a human-friendly format.
Searching for files in the include_path
file_exists_incpath()
checks whether a file exists anywhere along your include_path.