Archive for the 'PHP' Category
(Chronologically Listed)
CakePHP vs Ruby on Rails. And the battle continues…
- Posted by Tengku Zahasman on September 12th, 2007 filed in Web Programming, PHP, CakePHP, Web App Development, Thoughts
- 8 Comments »
- (3,695 Views)
When the funny guys at RailsEnvy.com published a video comparing RubyOnRails with PHP, they received a lot of criticisms from the viewers for making an unfair comparison between jets and cars, when they should be comparing jets with jets. The viewers were right. PHP is a language. RubyOnRails is a framework. If they wanted to compare RubyOnRails with something, they should be comparing it with another “framework” instead of a language.
So here is the video commercial I’m talking about (I find these guys to be very entertaining):
Soon after they realized their mistake, they created another video comparing CakePHP with RubyOnRails to be fair to the PHP community. While it’s not really a “comparison”, I still find it so hilarious. Check it out 
LoL. These guys should seriously consider becoming movie actors
Anyway, it’s true that CakePHP functions the same way RoR works, and I don’t think any Cake Bakers would deny that Cake was initially designed to work like RoR, only in PHP. In fact, there were times when CakePHP used to be nicknamed as “PHP on Rails”. But the way I see it, CakePHP is starting to move on its own way now and becoming more independent the more it grows. Bravo to the CakePHP developers!
CakePHP vs Ruby On Rails. Which is the better framework?
It’s not for me to judge since I never fiddled around much with RubyOnRails before.. at least not as seriously.
What I do know is that both of them follow the MVC design pattern. Both adhere to the “Convention over Configuration” philosophy and Don’t Repeat Yourself (DRY) concept. Both of them also support AJAX. They have an almost identical directory structure. They’re built with testing in mind. They are very OOP-like. They have their own shells for command-line interface stuffs. They both support caching. They support different databases (MySQL, PostgreSQL, etc…). And they’re both released under the MIT license.
The reason why I’m sticking with CakePHP instead of jumping into the RoR bandwagon is because I know I’m already fluent in PHP, so why would I want to learn a new language (Ruby) and a new framework (Rails) when I already have a very Rails-like framework written in PHP? If you strip off “Rails” from Ruby, you’ll realize that Ruby is just another programming language. Sometimes I keep wondering myself why some of those hardcore PHP-ers would migrate completely to RoR and go through the hassles of learning the new syntaxes & built-in functions of Ruby all over again when there’s Cake that does almost entirely the same thing. Even the 37signals guys (the brilliant minds behind RoR) uses PHP in many of their sites. Get real.
To set things straight, RubyOnRails is an awesome framework and I have nothing against it. CakePHP is also an awesome framework. I am no way saying that one is better than the other. They both have their own place and strengths in the web development scene. What I’m saying is unless you want to learn all the programming languages that exists out there, why not just stick with the language you’re currently strong at and use the available framework which works with your favorite language to build the applications of your dream. Save “learning a new language” for your next spare-time hobby. 
Neat slide on Cake 1.2
- Posted by Tengku Zahasman on September 9th, 2007 filed in PHP, CakePHP, Web App Development
- 1 Comment »
- (1,691 Views)
CakePHP 1.2 has never ceased to amaze me ever since I started my romantic journey with her. Even though it is still marked as in “Alpha” development stage, I find it to be too interesting that I have left the 1.1 branch for good. Cake 1.2 have so many useful functionalities, “bundled” components and that little useful touches which makes it so practical to use and so much easier to implement. In fact I am currently converting most of my existing apps (where some of them were written like spaghettis) into CakePHP for the past two weeks and I just love every minute of it.
Recently, gwoo (one of Cake’s developer if I’m not mistaken) gave a talk on the Orange Country PHP group regarding the ins and outs of CakePHP as well as the latest development on the 1.2 branch. Here are the slides that all Cake lovers should read (also available in PDF format here).
With all the cool new added features that Cake 1.2 has to offer, why would anyone needs to jump to another language/framework? 
“CLI has stopped working” on Windows Vista
- Posted by Tengku Zahasman on July 22nd, 2007 filed in PHP, CakePHP
- 40 Comments »
- (12,927 Views)
I am posting this information because I want other people who’s facing the same problem as I had to be able to find the solution when searching through Google. I know I didn’t. So for PHP users who are using XAMPP on Windows Vista, pay attention (other WAMPs could be affected too)…
The Problem
Being a CakePHP baker, I had the tendency to try out the Bake script (a convenient command-line interface (CLI) tool in CakePHP which helps programmers to create all the necessary Model classes, Controller classes, and View template files based on the database schema - alongside with some optional basic CRUD methods). So after I set-up the console so that it can run PHP and the bake script, I typed in “cake” into the cmd box and pressed Enter. The Cake console appeared to be running successfully, but there is this annoying error box which kept on popping up everytime I run a command/script. This error box carried the message “CLI has stopped working”. Oddly, the CLI could still be used afterwards 

At first I thought it was a CakePHP problem, but when I tried running the command “php -v” to check the PHP information, the same problem happened. So I knew this must be a PHP problem instead of CakePHP’s.

A short Googling around suggested me that most of the people having this problem are those who uses XAMPP on Vista. Initially I decided to just forget about the problem and move on since the scripts did run without problems. But to make matters worse, everytime I start up my Komodo Edit IDE, that error box pops up like 5 times in a row. Now that annoyed me to the bone so I decided to have this problem fixed.
The Solution
I paid a visit to PHP.net in hope to find something helpful and found a line somewhere in the PHP 5.2.3 changelog that caught my attention:
“Fixed commandline handling for CLI and CGI. (Marcus, Johannes)”
Realising that the PHP version used in XAMPP is version 5.2.2, I immediately downloaded the PHP 5.2.3 binaries in hope that replacing the PHP in the XAMPP folder with the new version of PHP would fix this problem. To my amazement, it did. No more annoying pop-ups.. yay!
Update: The “Actual” Solution
Turns out that the actual culprit to this problem is the mysqli extension (mysqli_php.dll) distributed with XAMPP. So instead of replacing all of the latest PHP distribution, you only need to replace that particular extension with the one that came pre-installed with XAMPP. That is sufficient enough to get rid of the annoying alert box.
So there.. if you ever face the “CLI has stopped working” error on your Vista machine, don’t just give up and disable CLI straight away. Simply download the latest PHP binaries and replace it into where you installed PHP (eg: C:\xampp\php) overwriting everything. Practically, you may only need to replace the mysqli_php.dll extension. That should do the trick. 

If I've provided some info that you find to be useful, don't hesitate to