Web site done.

I finished the web site I have been working on with a little help in figuring out the style sheet and putting some of those fancy-shmancy rounded corners on things. Oh so trendy!! Anyway, I’m glad I got it done, it was touch-and-go for awhile.

(more after the break…)


What I shouldn’t have done is take some existing calendaring application and try to repurpose it to this application. That was a strategic error. We all look for things to reuse, but I think I will draw that line at repurposing full-blown applications from now on. There was just too much to have to reconstruct in the new way of organizing things.

Since I’ve turned it over, I’ve been looking at many technologies that would have made this go a lot better. I am really liking the look of Smarty templates for php. They do the good thing of separating code from presentation. This appliation I just finished had it all jumbled up together, like we used to do in the olden days. I vow never to do it that way again. It reminded me of the worst of ColdFusion programming, when that was the way they taught you how to do it.

Also, I’m even more firmly convinced of the MVC style of coding data-driven applications. I have been so spoiled with Rails doing that that I really missed it here in PHP. I know there are some MVC frameworks out there for PHP. I have looked into both Zend Frameworks and CakePHP. Both look promising. But I don’t necessarily need a specific prebuilt framework if I keep my code organized.

That’s also true of a templating system. While Smarty is cool and whizzy, it’s not really 100% necessary. PHP is itself a templating system. One just has to enforce the discpline to separate the code from the presentation, event with PHP.

This is accomplished by writing model handlers for all the logic of the application, basically all the CRUD stuff, while leaving the views to a separate set of scripts, one for each view, which can include other scripts for things like headers, footers, and other common elements.

Leave a Reply

Your email address will not be published. Required fields are marked *

*


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">