Mailing List

Enter your Email


Powered by FeedBlitz

RSS Feed

Entrecard

Links

Blogshares Links

Beginner's Guide to BlogShares
A guide about the BlogShares fantasy blog stock market.
Scared Bunny
BlogShares Price Tracker
This program that archives information about the BlogShares fantasy stock market. You can view graphs of any industry, and analyze your portfolio.

SproutWorks Projects

Digg Archive
A new experimental Digg page.
AJAX Pixel Editor
A Collaborative pixel editor currently in development.
Web promotion links
These tools help you get visitors on your website.
SproutPics
My photography Site
SproutZoo
My zoo photographs
Tag Cloud
A summary of tagged articles.
Found Photos
An automated page that thumbnails photos from another site.
SproutSearch
I designed this blog indexing tool, and it has accumulated over 6 million blogs so far.
Products
Some of the programs I've written.
RSS Feeds
RSS Feeds from the SproutWorks Forums
SproutTree Demo
A demo of a tree-drawing PHP script.
My Gallery

SproutWorks Chat
A chat room I programmed, most likely empty.
Link Exchange - Link Directory - Web Hosting

Sign In

Username:
Password:
Remember Me

sprout man
Posts tagged zend

sproutworks
SproutFramework

I have been hearing about Ruby on Rails a lot lately. I finally decided to try it to see what all the fuss is all about. I found a Windows installer that made installing Ruby easy. I installed Rails with Rubygems, a package manager for Ruby. Gems makes installing stuff really easy. I followed a couple tutorials I found on the rubyonrails.com. Even though I didn't finish my simple tutorials yet, I realize my Rails can help me to create web applications.

Rails is an MVC framework (model view controller) that is written in Ruby. I have heard about MVC before, but I haven't decided to check it out until now. From what I've learned so far, I have become determined to integrate MVC into my core web programming practices.

Scaffolding makes it simple to turn your database tables into a functional application. The scaffold is a generic program that provides basic viewing and editing of your data.

Rails also has generators that can start writing your code for you, when you want to move beyond the scaffolding. You can generate the code for models, views, controllers, and a few other things. The code will come with some default behavior, which you can modify to better suit your needs.

PHP Framework

Rails is great, but I have about 30,000 lines of PHP code that I wrote and I'd like to continue using. So I decided to write a framework in PHP that emulates some of the things I like about Rails. I thought about what features I wanted for a while, and about how I would structure my code. When it was time to write code, I wrote the DatabaseInterface class first.

DatabaseInterface

DatabaseInterface aims to serve a similar purpose as Rails' ActiveRecord. It asks the database about what a table's structure is, to pass along to the model. It also builds SQL and performs queries. The idea is to be able to do most things without needing to write queries by hand.

Model

The Model class stores information obtained from the DatabaseInterface, and defines relationships between sets of data.

Controller

The controller is where the data is processed, and tags are rendered. The tags are used by the View to produce the final output. The view reads templates which can contain references to the object being viewed, and other objects.

Zend PHP Collaboration Project

On October 20th, Zend announced that they are partnering with IBM to co-develop PHP technologies. They are making a PHP IDE based on Eclipse, an open source integrated development environment. I am really interested in trying this new product. I've been using PSPad, and I just installed Zend Studio 5 beta 2. Zend Studio's features are very nice. I haven't explored most of the new features yet. The code folding is nice. My main complaint is that Zend Studio uses almost 200M of RAM sometimes. I have no idea how it is implemented, other than it's written in Java.
Also announced was the development of a new PHP application framework. Maybe it will be considered the Rails of PHP.

Collaboration Site


sproutworks
I have been evaluating Zend Studio 5 beta 2 for my many PHP related projects. It contains the things I like about the older versions, and also some of the things that I dislike. I like the features it contains. The auto suggest feature is nice, but sometimes it delays my typing as it is loading. Zend Studio, written in Java, can be quite a memory hog. Sometimes it causes the Java process to consume almost 200M RAM. I think that's a bit much for an IDE. Then oddly, it can drop down to only a few megabytes. Also, the file open dialog box is annoying. It keeps putting me in the My Documents directory, which is not where my web projects are located. Despite it's performance shortcomings, I will continue to use Zend Studio, while keeping an eye out for their new Eclipse based IDE.