You probably feel like banging holes in your desk with your coffee mugs some mornings after spending a decent few hours just to find that you forgot a silly semi-colon or closing brace
When you do web projects for some time, an interesting pattern is likely to emerge. Tho every project has some specific features, many projects share some functionality. I had been programming customer-specific mini-web-CMS' for several months when copy-pasting and integrating all the same editable page, poll and scrolling test code for who knows how many times started to become a real pain.
I found an answer in isoliating pieces of functionality in libraries of functions, then stitching them together by including the library files. However after coupla projects I started to get problems with function names - they started to become real long and avoiding conflicts became a chore. Solution was to implement those pieces as classes. As the code was about showing some user inderface components, I called the classes "widgets". The result was very positive. Writing the widget code would now take maybe %30 more time but time gain during integration was tremendous.
Another unexpected advantage showed itself. I'm using Macromedia Dreamweaver MX for writing PHP code; I find it very useful, however it is unable to present PHP code in meaningful form. In "design" view, all the code between markup would be represented by a PHP icon. Being so it would now and again result in a real nightmare for the company designer and for me. Collecting all the relevant code under one widget class gave me a possibility of presenting user interface element as a separate item that could be manipulated easily in WYSIWYG mode.
The PHP Manual defines an array in PHP as an ordered map. Personally, I don't like this definition. I will define an array in PHP as a collection of variables, which I think is a little more descriptive. In most languages, at least the ones I am familiar with, the variables in this collection must all be of the same type. Not so in PHP! This is because of PHP's Type Juggling. I'm not going to go into great detail about Type Juggling, but basically it means that you don't declare a variable as a certain type. The context in which the variable is used determines its type.
In part 4 of this tutorial we take a look at adding a new MessageAction method to our current Controller. This will expect one piece of information: a new chat message.
Joining mailing list will entitle you
to receive occasional emails informing you of news and
updates to the site and any special offers that may be
of interest to you.