Hello World

Practical programming... and stuff...

Archive: November 2007

Sticky post

Moved

I have moved my blogging to codeutopia.net. There will be no more regular postings here.

Visit the new blog

Read more...

What are the controller and model in MVC?

,

A lot of people seem to be slightly confused about what the M and C, Model and Controller, of MVC are, in regards to web applications.
  • What does the Model do?
  • What does the Controller do?
View is what everyone seems to know, though… I wonder why is that so? What is so confusing about Models and Controllers? Read the rest of the post at codeutopia.net

Quick introduction to using Zend_Layout

,

Lately, the Zend_Layout component has been a very popular topic on #zftalk. It is indeed a very useful component, but a lot of people are having trouble understanding how it works.

Adding to the confusion is the outdated documentation regarding the component proposal and the equally outdated articles about Zend/Xend_Layout.

Let’s demonstrate the usage of the current Zend_Layout implementation, which can be found from the Zend Framework SVN or Snapshots in the Incubator directory.


Read the rest of the post at codeutopia.net

Localize your site in 3 easy steps

, ,

Internationalization and localization means making your site usable in more than one languages. Well, to be honest, you could call a site that's only in english localized to english visitors too, but in any case...

These two are also known as I18N and L10N. Can you guess where these acronyms come from? The first and last letter from each word and then the number of letters between... Someone's been feeling really creative wink

While PHP has an extension for GNU Gettext, which can be used for localization, it isn't the easiest thing to use. Additionally, PHP can also do number and money formatting based on the locale, but this depends on the server: You must have the locale installed on it. On Shared Hosting accounts, some locales may be unavailable and you may not be able to install them. Not to mention that gettext can be a bit of a hassle to get working.

So, rather than using PHP's native support, why not use Zend Framework's Zend_Locale and Zend_Translate?


Read the rest of the post at codeutopia.net

The mythical HTTP protocol

,

The HTTP protocol is what powers todays web. While not useful for most people, knowing how HTTP works is important for those who work with dynamic web sites.

Still, it seems that the protocol is mostly a mystery to a lot of developers and some features of the protocol, such as the accept-language header, aren't really used.


Read the rest of the post at codeutopia.net

Geek humor

Some funny things I thought up at 5 AM this morning...

Read it at codeutopia.net

Routing and complex URLs in Zend Framework

,

We were talking about routing on the #zftalk IRC channel. One of the users mentioned that rather than using routes, he was using the __call method in the IndexController. I then asked him why is he doing that, as I knew routes would be more than a good choice for most kinds of URLs. I found out that he was working with SEO and he was using a very interesting URL scheme: domain.com/productname-numbers-categoryname.html This is actually quite interesting thing to think about. Not the SEO part, but how to make ZF understand these kind of URLs. The default routing in Zend Framework works very well for typical Zend'ish URLs like domain.com/hello/world/stuff/goes/here, but if you want to do some more specialized URLs, like the example here, you may need to do some thinking. Because ZF is so flexible, I can think of four different ways to route complex URLs:
  • Using __call
  • Using a controller plugin
  • Using Zend_Controller_Router_Route_Regex
  • Customizing the Route class
These methods can be used for other things as SEO URLs as well, so let's check out how to utilize these four and their pros and cons. Read the rest of the post at codeutopia.net

Zend Framework initialization shell scripts

I've had a couple of cases where I've wanted to quickly test some stuff with the Zend Framework. Now, to get the framework up and running, you'll need a couple of things:
  • Directory structure - controller dirs, view dirs, public_html, etc. etc.
  • .htaccess files - To enable routing
  • Bootstrap
  • Controllers
I can never remember what to put in the .htaccess files and I often forget the parameters for the front controller in the bootstrap. But what if you could do all these steps with a single command? I want to be able to run a single command and get the framework up and running without doing anything else. So, I decided to whip up my trusty Vim and write a couple of shell scripts to do it! Read the rest of the post at codeutopia.net

How to improve your JavaScript

,

There's a lot of resources on the internet related to coding JavaScript, but many of them are poor and out of date, which I believe is one of the reasons why a lot of people still can't manage to write JavaScript code which works in all major browsers (IE, Firefox, Opera and Safari - where possible to test it)

Let's check out some useful JavaScript resources to improve our skills, ranging from books to blogs and frameworks/libraries.

Read the rest of the post at codeutopia.net

How to automatically escape template variables in Zend_View

,

Escaping any data which comes from the server is important to escape, as it prevents XSS amongst other things.

The Zend Framework view component Zend_View let’s you escape template variables with $this->escape($this->variableName), but it doesn’t escape them by default. Wouldn’t it be much nicer if it did that by default, or at least provided you with a variable to turn it on/off?

Let’s find out how to do that!

Read the rest of the post at codeutopia.net