TAG | magazine
Again. A few months late. Happy to see the magazine is going through some new exciting changes.
ATK - A Business Framework
I’m lost in the development world about what a framework is these days. But ATK seems more like a CMS to me. Or atleast you can build one in minutes. ATK itself is quite interesting. It wants developers to write as little code as possible. And you don’t call ATK, it calls you! Meaning that you create something unique to your application like a data node description file and ATK will know when to use it. It’s very easy to create various entities and describe their relationships with ATK so it’s bassically a web application bakery. The article does not say much about the performance or extendability of ATK itself. I was sceptical at first but then I changed my mind that this software project sounds like a worthy tool.
Messaging The Web
It’s an interesting idea to use email as middle communication layer between your phone and your PHP applications. Was nice to find out that you can feed emails using sendmail directly to php scripts instead of using crons. Though I wouldn’t use it for server control like in the article itself. Most phones have email support today and can send emails themselves. I think this is more of a poor man’s solution anyway. But I still believe it is a nice idea and could be useful for something.
Working with the Zend Platform
A great article. Never checked what Zend Platform has to offer and I was suprised. Too bad it can’t work together with Xdebug and APC but Zend offers some replacements. The Zend Platform is great for a web developer using windows to quickly setup a dev environment. All you need is Zend Core and Zend Platform which are free for development purposes. Zend Platform itself is like a web application that allows you to do a lot of neat things. I think that the most valuable thing is the events logger. It logs php errors, execution times and other things, agregates it and presents it in a very nice interface and allows you to find and investigate problems quickly. The cache feature in the Zend Platform is also nice for some quick caching solutions. It has never been easier to cache a page. Just provide the URLs you want to cache and it’s done. Zend sessions clustering is also a nice thing. I think it would be great to have it as a free extension. It’s easy to setup shared sessions when you can’t afford storage servers or sticky sessions and must have high availability.
This article explains how to create an application that connects to a socket. Using telnet you can write messages which popup in a web browser which is constantly buffering messages from a socket using php and ajax. I like the main idea to use this for monitoring. For example you could stream your web server cluster error logs into a single browser page and try to investigate potential problems.
Creating Web Interfaces with Stickleback
Yet another framework named stickleback and developed by Yahoo. Stickleback is a general purpose plug-in framework. I missed the reason behind this framework. What are it’s strengths and weaknesses compared to other frameworks. It says it’s extremely extensible. Anything else? Article shows how to create an application that displays a few headers and a table and show some of the framework components. Looks like a “Hello World” program. Would have loved to understand why this framework stands out from all the other frameworks.
One of my most favorite columns. I sympathize with the idea that to show something using a programming language and choosing a hello world program to do it is not the most effective way to do it.
I’ve finished reading the August 2008 php|architect edition.
Chatting with Flex
Some nice details about Flex runtime libraries and standardized XMPP chatting protocol.
Writing a Custom WordPress Plugin
An interesting read how wordpress developers implemented it’s plugin system. A worthwhile read if you are interested how a flexible plugin system could be implemented.
Case Study: A Million Products
Found the Entity-Attribute-Value aka EAV model very interesting. It has been mentioned in previous php|architect editions. It’s a great solution where business entities have lots of different attributes. The article shows a realistic approach how EAV could be implemented.
The Perfect Storm
A trully great article worth reading! Reading the first few sentences i remembered myself in the past. Maintaining legacy projects .. I agree with the article that experience working with legacy projects gives you debugging experience. I’ve met developers who just get lost debugging old legacy code and spend hours and hours looking for a problem while it takes someone else just 5 minnutes to find it. Was interested to hear about the limited GOTO statement in PHP 5.3. The article introduces to one of the worst code smells developers should avoid: Pack Rat Syndrome, Real Clone Wars, Merging of Sins. Pack Rat is when dead code is left behind. Clone Wars is about code duplication. And Merging of Sins is about creating new projects from old ones without cleaning them up.
Interesting argument. I consider myself a fairly educated developer and I’ve never questioned myself why I make the non-public members and methods of classes private and not protected. I came to a conclusion that libraries should be protected because these can be extended. In other cases where classes are not meant to be extended they should probably be declared final anyway.
I have bought my first copy of php|architect magazine. The PDF version only costs $5. The quality of the first two articles I have read so far is great.
The first article was about the SimpleTest framework. A really nice and interesting approach compared to the default way of unit testing. It’s easy to test badly written code that may be harder to hook into using traditional unit tests. Sometimes the article goes into too much detail making the article sound more like a documentation page.
The second article was about internationalization (i18n) in PHP. It definitely was interesting. The intl extension based on ICU takes care of string comparison (collating), number formatting (currency included), message formatting, unicode string normalization, locales handling (parsing, lookups) and date formatting. Internationalization has never been easier.
I like the php|architect slogan ”It won’t make you smarter but it will make you a better PHP developer”. I hope it will.