Page 7 of Software Development Articles

How to zero fill a number with PHP

Zero filling (or zero padding) is when you pad a value on the left side to a specific length. This is something you will commonly see in database schemas for integer columns. But what if we’re not working with data that’s already zero filled by a database? All we have […]

How to get keys from an associative array in PHP

One of PHP’s most powerful features are arrays and the multitude of functions available to interact with and manipulate them. Arrays can be indexed by integers as well as string, known as an associative array. Instead of looping through the array with foreach and assigning the key to another array, […]

Passing variables to anonymous PHP functions

The other day I ran into a situation (first time, it seems) where I needed to access a variable inside of an anonymous function inside of preg_replace_callback(). My first thought, even though it went against my better judgement was to simply define the variables as global inside of the function. […]

Opt-out responsive design using LESS

I liked Chris Coyier’s post Opt-Out Responsive Design? but really didn’t like the idea of having to qualify all of my selectors with a parent class to indicate that we should be using the responsive version of the site. I do favor serving the user a single stylesheet instead of […]

Using list() with foreach() in PHP

Continuing my showcasing of all of the awesomeness in PHP 5.5 that I am discovering since my upgrade from 5.3, let’s discuss using the the list() function inside of a foreach() block. Have you ever had a situation where you are looping through a multi-dimensional array and the array is […]

“Failed to open page” on Windows Phone 8

I ran into an issue a few days ago after pushing some hand rolled “infinite scroll” logic to my sites. One of my users reported getting the “Failed to open page” error on her Windows Phone 8 using UC Browser, some aftermarket browser I had never heard of. The rest […]

How to use Generators in PHP

Support for generators (via the yield keyword) has been added to PHP 5.5 and allows you to create simple iterators without the use of the Iterator interface. What’s this all mean? It boils down to overhead, generators use less memory than an implementation of the Iterator interface or simply creating […]

String dereferencing or How to extract a single character from a string with PHP

String dereferencing allows you direct access to individual characters. The dereferencing syntax is just like accessing an array element by it’s index: $string = 'This is my awesome string!'; echo 'First Character: ' . $string[0] . "\n"; echo 'Tenth Character: ' . $string[9] . "\n"; echo 'Last Character: ' . […]

Easily identify duplicate properties in your CSS files

As of late I’ve been very adamant about DRY CSS principles. Not so much the descriptive ID and class selectors that some folks wrap their other selectors in, but the focus on not repeating the properties and grouping like selectors. I’ve even taken it a step further and have been […]

Catching multiple PHP exceptions

I had previously discussed using try / catch / finally and a fine reader pointed out that I didn’t mention catching multiple exceptions. He’s right, I dropped the ball and decided to dedicate today’s post to catching multiple exceptions. To catch multiple exceptions you will need to be using code […]

How to write files to disk with PHP

Saving files to disk is a pretty simple task in PHP with file_put_contents(). Here’s how to write a string to a file: $string = 'I AM STRING!!'; file_put_contents('/path/to/destination', $string); It is generally good practice to only do with when you are dealing with smaller strings as you can run into […]

How to use try/catch statements in PHP. Oh, and finally too!

I do a lot of coding in Python and one thing that I really love is the mindset of asking for forgiveness instead of permission. What’s this mean? It means that instead of sanity checking every little thing, just handling the exceptions that are thrown instead. In PHP this can […]

Gravatar as an identicon generation service

If you’re not already aware, Gravatar is a free service that allows you to couple an image to your email address which can then be carried around the Internet with you. It’s great for site owners because then you don’t have to build out image uploading and storage and it’s […]

How to use switch/case statements in PHP

switch/case statements are one of my favorite anti-patterns not because I prefer to write spaghetti code but because they can make if/elseif blocks look a ton cleaner. Why would it be considered an anti-pattern? Because it could easily be abused to the point that you are munging up your control […]

Improve performance by reusing PHP objects

I’ve been doing a ton of optimizations on one of my main sites and one thing that I’ve been doing more and more is trying to reuse objects whenever possible. What’s this entail? All it takes is creating a static function to return an instance of the object instead of […]

How I saw the test-driven light

Aside from dealing with financial transactions, I’ve generally avoided test-driven development as part of my day to day workflow. Why? The usual reasons, but mostly because I didn’t want to incur the overhead of additional development. As a single founder / developer you’re always looking for ways to lighten the […]

PHP 5.5 syntax highlighting for Vim

Now that I’m using PHP 5.5 I’m finding that my Vim syntax highlighting is a bit off. After some digging around I found a syntax file that was updated to PHP 5.5 RC1 but hasn’t been updated since. In true hacker fashion I went ahead and forked the project and […]

That time I got ripped off on Flippa

In my defense, I’m a grown ass man and I knew exactly what I was doing. I was really intrigued by all of the “automated websites” that Flippa is overrun with and figured I’d set myself a very modest budget of 250$ and see what trouble I could get myself […]

How to error when setting undefined class properties in PHP

Perhaps you have a class and you absolutely don’t want anyone tacking new properties onto it once it’s been instantiated. To do so, you can use PHP’s overloading to catch the setting of a variable and raise an error accordingly. Here is the default behavior where an object can have […]

Ground up rewrites should be a last resort not the status quo

And even then, everything has to be so fucking abysmal that there’s no way to avoid it. The only time I’d ever condone a full rewrite is when you are completely abandoning an existing user base else you’re probably going to disappoint at least a good chunk of your users […]

How to calculate Thanksgiving's date with PHP

The topic of this post ended up turning into quite the programming exercise for me. In true PHP fashion, I was able to come up with 3 distinct methods to determine what date Thanksgiving falls on (and have another in mind but it’s just a crappier version of what I’m […]

My Experience with Wizpert

For those that aren’t familiar, Wizpert is a platform for chatting with people (Skype, Gtalk and their site) that are experts (referred to as “wizperts”) of specific topics. Earlier in the year I was sent a beta invite to become a wizpert in the category of PHP. I’m not a […]

How to convert a negative number to a positive number with PHP

Converting a number from negative to positive is a pretty simple process using the absolute function abs(): $positive = abs(-123); // = 123 $positive = abs(123); // also = 123 Absolute returns a positive integer or float based on what you feed it. Because it only ever returns a positive […]

PHP's HereDoc versus NowDoc

We’ve previously discussed how to assign variables and add in variables and all of that good stuff, but what about if you are dealing with a large block of text? There’s many approaches, most that require you to be mindful of escaping characters like simply using quotes to wrap a […]

How to handle daylight savings time in PHP

If you’ve ever dealt with time in PHP you’ve probably been burnt by daylight savings time before (quite possibly yesterday ;). I’ve been there, waking up on the Sunday of the time change with an email about timestamps being an hour off or some other anomaly that ends up being […]