Refactoring PHP

Here are some common opportunities for improving the maintainability of code through refactoring that I find when reading code.

  1. Replace Duplicated HTML with Iterating Over an Array

    The purpose of most PHP code is to output HTML that the web server will send back to the browser. If you have a table that has 20 rows, and all those rows have the same structure, but the data in each row is different, you could write it 2 ways:

    1. Duplicated HTML

           <tr>
             <td align="center" valign="middle" class="messageFormTd3">2010-05-04</td>
             <td align="center" valign="middle" class="messageFormTd3">Copenhagen</td>
             <td align="left" valign="top" class="messageFormTd3">City Hall</td>
             <td align="center" class="messageFormTd5">10:15</td>
           </tr>
           <tr>
             <td align="center" valign="middle" class="messageFormTd3">2010-05-02</td>
             <td align="center" valign="middle" class="messageFormTd3">Zagreb</td>
             <td align="left" valign="top" class="messageFormTd3">Main Square</td>
             <td align="center" class="messageFormTd5">12:30</td>
           </tr>
    2. Iterating Over an Array

                 <?php foreach (array(
                   array('date' => '2010-05-04', 'city' => 'Copenhagen', 'venue' => 'City Hall', 'time' => '10:15'),
                   array('date' => '2010-05-02', 'city' => 'Zagreb', 'venue' => 'Main Square', 'time' => '12:30'),
                 ) as $event) { ?>
                 <tr>
                   <td align="center" valign="middle" class="messageFormTd3"><?php echo $event['date'] ?></td>
                   <td align="center" valign="middle" class="messageFormTd3"><?php echo $event['city'] ?></td>
                   <td align="left" valign="top" class="messageFormTd3"><?php echo $event['venue'] ?></td>
                   <td align="center" class="messageFormTd5"><?php echo $event['time'] ?></td>
                 </tr>
                 <?php } ?>

Hello World – First Post

Hello world!

I am really excited to be writing my first blog post as part of setting up my online presence at bernardic.ca.

Since I work as a programmer, and have a Bachelors degree in Computer Scrience, I think it would be good to start with a hello world. Here it is in all the programming languages I use or have used. The constraint is of course that I don’t look it up on the Web or in other people’s source code, but rather either go by memory, or memory plus the help of a compiler/interpreter:

PHP

<?= 'Hello World!'?>

Ruby

puts 'Hello world!'

Python

print 'Hello world!n'

Java

public class Hello {
  public static void main(String[] args){
    System.out.println("Hello world!");
  }
}

LISP

(print "Hello, World!")

Perl

print "Hello World!n"

C

#include <stdio.h>
int main() {
  printf("Hello World!n");
}

bash

echo 'Hello World!'

Javascript

alert("Hello World!");

or

window.onload = function () { document.write("Hello World!"); }

C#

using System;
public class Hello {
 public static void Main() {
    Console.WriteLine("Hello World!");
 }
}

There it is. I also tried C++, but could not figure out the whole stdout << “Hello World!”, or however it would actually go. 🙂 Happy Coding!