mkoh.net beta!

Website

Taking a look under the hood

After working for years with various content management systems, some of them made by me and some of them more or less commercial, I finally decided that mkoh.net would never run on top of one. The main reason was that I would never be able to find or code a generic solution which would satisfy me (and believe me, I've tried :D).

So instead I decided to make my own website with PHP and Zend Framework, this way I could have a flexible system, where it is relatively easy to add and modify content and add new functionality. This website functions also as a technology demo, personal portfolio and generic Zend Framework example.

The design goals were to create a nice looking, feature rich web application, which would be easy to install (for someone who wants to use this as an example application for getting familiar with ZF) and implements the ZF coding standards.

Technologies involved

  • PHP
  • Zend Framework
  • SqLite (latelly deprecated in favor of MySQL)
  • JavaScript
  • jQuery

Zend Framework

Chosing the Zend Framework as a base for the application was a relatively easy decision. Being one of the few Zend Framework certified engineers in Finland and considering the fact that I also have experience in training others in using the framework at Zend's Zend Framework: Fundamentals course I am quite familiar with ZF. Also, since the framework evolves constantly, I need to somehow keep my knowledge up to date and this website is just the perfect playground for testing new cool features :).

ZF components used

Here's a list of some of the most (in my opinion) interesting ZF classes used in creating mkoh.net.

Zend_Http
Used in several places. To mention one, I created a view helper to automatically create links for me and since I am very lazy in writing titles to my links, the view helper fetches the page and parses (and of course caches) the link title from the fetched webpage.
Zend_Cache
All of the integrations and automation in the application make it "a bit" heavy, so there's a lot of caching involved.
Zend_Service_Flickr
Having to manage and resize all of the images used in the website felt a bit demanding. So I decided to create an account in Flickr and use it as a image storage.

Automation and integration (the cool stuff)

Image resizing

I needed to have a lot of screenshots for my portfolio page. Just grabbing them was enough work, but to resize every single one individually was too much. So I decided to write a view helper to solve the problem for me. I just provide the helper with a path to the original image with the size I want to be displayed and the rest (resizing and caching) is done automagically.

Website thumbnails

Notice that some of the links here display a preview image of the site the link points to when you hover over the link? This is accomplished with some javascript, php and using an external service, Thumbalizer (there are several sites offering this kind of service, this is still in beta stage but is offering a decent api for developers).

Comments

No comments, why not write one?

Add a comment

 _    _     _____   __    __   __   __   _    _      ___    
| \  / ||  |  ___|| \ \\ / //  \ \\/ // | \  / ||   / _ \\  
|  \/  ||  | ||__    \ \/ //    \ ` //  |  \/  ||  / //\ \\ 
| .  . ||  | ||__     \  //      | ||   | .  . || |  ___  ||
|_|\/|_||  |_____||    \//       |_||   |_|\/|_|| |_||  |_||
`-`  `-`   `-----`      `        `-`'   `-`  `-`  `-`   `-`