One of my favorite sites seems to have been neglected.. PHPPatterns.com, which was a great resource for learning how design patterns can be applied to the PHP/Web World. I'm going to try and define and teach as many of the design patterns in the Gang of Four book as I can and relate them to common PHP situations. When learning design patterns its difficult to really wrap your head around them unless you have a really clear example that you can relate to your world.

One of the best descriptions of design patterns I've seen is in a book I read called Design Patterns Explained which goes on to say that if two carpenters are designing a cabinet and they want to talk about how the shelves are going to be held together they don't say "I'm going to cut 45 degrees down, then straight, then 45 degrees back up, then straight, then again 45 degrees down etc..."

they say, how about we use a "dovetail joint" or a "miter joint". That right there made it click for me, because in software breaking things down into high level functions allows you fully wrap your head around your problem, and more importantly communicate your ideas to teammates in a way everyone understands.



I passed my zend certification exam this morning, whooo hooooo.

Had the standard 70 questions, and I can definatley say if you don't study for this test its unlikely you'll pass. You have to get down to the low level stuff, how does php do type conversions IE if(0 == "test") echo 'yes!'; would echo yes because it converts the string down to 0, learn all the array functions and how to manipulate arrays, file system functions.. flock, fopen, fpassthru, etc all of em. Also there were quite a few OOP questions on there. I had to mark about 12 for review, I really had to work through those ones at the end when I hoped to have time. I finished with about 25 minutes to spare, reviewed my answers a couple times over and found a couple mistakes I made.

Couple Tips...



Dietrich Ayala just sent me this funny link the ACLU made up regarding national ID cards, make sure to have your sound on! Its what could happen in the future when you order a pizza :) funny..

http://www.adcritic.com/interactive/view.php?id=5927



I'm sure anyone reading this page has ordered something from the internet if not many things. Everytime you make a purchase you're exposing your credit card to strangers, you might think its just computers talking to computers but at my previous company I was hired to create a new e-commerce site for them that interacted with an AS400 system they used for phone orders. Their old method was

1. Someone places an order online

2. Each day it was someones job to PRINT out the orders WITH CREDIT CARDS NUMBERS



This resource has been helping tremendously during my PHP studying... he's got information on pretty much everything you need in php. Its probably the best free resource around for PHP that I've found, its Paul Hudsons PHP Book. You'll always find something new to learn there. Also if you're getting ready for the zend exam, here's a good practice exam as well: http://www.hudzilla.org/php/exam.php

http://www.hudzilla.org/phpbook/



I've been studying for the zend certification test for a little more than a month now, in practicing for the test I've also taken and passed the experrating.com php4 test and the brain bench php4 certification test so I'm feeling fairly confident at this point. I can't wait for this test to be over so I can study something other than strings, streams and arrays lol.



Logged on to zend today and noticed they had a quote from me right on the front page.. pretty cool stuff :)

(click for full size)



I created a tutorial on PHP's bitwise functions and how they work. Its a helpful tutorial for anyone who is looking to understand any part of bits, bytes, binary math or the PHP bitwise operators and why they can be beneficial.

http://www.litfuel.net/tutorials/bitwise.htm

hope it can help someone out there :)



Dietrich sent me this link to a javascript drag and drop sample. Its quite amazing how smooth it is. Really opens up your eyes to the possibilites of DHTML with XMLHTTPREQUEST for processing data as the user interacts with it. Much like GMail does if you've used that (I'm sure 90% of blog readers have gmail by now). JPSPAN is also a nice library to check out that creates a seemless interaction between php and javascript.. imagine being able to call PHP class methods FROM javascript. nice :)

http://tool-man.org/examples/dragging.html

** Note: these only work in firefox at the moment, IE support is coming soon



I just got a great tip from listening to a podcast interview with Joel, from "Joel on Software" who remembered a company who needed to create a program that needed to be localized in different languages so what they did was write everything in Pig Latin then English was the first localized language. This way you know right away if you forgot to localize a string in your program or not when you test it.

IE user name = userway amenay