I’m working on some code on the command line that I needed to debug. It’s on a remote machine (well,…
PHPCloud.com is the landing page for our new cloud offering. Using the Zend Application Fabric you can build your applications…
On the ZF-general mailing list there was a discussion that was occuring about the cost of Zend Studio. I started writing a response but saw that it was getting kind of long so I decided to turn it into a blog posting.
The first question I’ll address is that of cost. When you look at what other similarly-featured IDE’s cost, we’re actually pretty good. Flash Builder 4 is $250 for the standard, $800 for the premium version. Visual Studio is $300. IntelliJ is $599. So, from an Apples-Oranges, throw everyone in the same bucket, IDE comparison, Studio is about where everyone else is, or better, from a pricing perspective.
I’m working on an example of mobile detection with the new Zend Framework 1.11 beta that was just released when I came upon an interesting problem. That problem is; how do I debug requests coming in from the mobile phone? The answer is actually relatively easy. I’m doing this using a Zend Framework application, but the concepts that you’ll see here can be used quite easily across any type of framework.
I learned a new tip for Zend Studio. When you have a long class like Zend_Application_Resource_Modules you can get code compltion on it by typing ZARM instead of the full name in the PHP editor.
It would be a fair statement to say that I have not paid attention to Flash for several years. Obviously I know that those awesome interfaces for movie web sites are made in flash, as are those annoying video ads that start screaming at you as soon as you load up a page, competing with Megadeth on Rhapsody, cranked out on the 700 watts of power I have in my office. But the last time I really looked seriously at Flash was almost a decade ago and I was thrilled at tweening widgets from one place to another. Unfortunately, there’s not really any benefit to tweening a text box. Cool? Yes. Practical? No. So I never really picked it up. Plus I was cheap.
Debugging is one of the things that every single PHP developer in the world needs to know how to do. Unless you are simply learning the language, learning how to debug will save you countless hours and save you loads of money in anti-anxiety medications. var_dump() or print_r() is not debugging. At least, it’s not debugging in a way that is very useful, or safe.
There are two primary debuggers in the PHP world. XDebug and the Zend Debugger. I am not an expert in XDebug (though I really need to learn it better) so I will leave those discussions to someone else.
Code Assist is one of those “must have” features in any IDE. Some developers are so brilliant and have such good memories that they are able to know what parts of their application do what and those silly drop down boxes just get in their way. I am not one of those developers. I love Code Assist. In fact, I learned Java via code completion in JBuilder 8. It was horrible Java code, but it worked. And eventually I learned how to write good Java… using code completion as well.
In a perfect world software works all the time…
So, you can stop laughing now. But if something gets really messed up there are a couple of options that you have to make it work again.
Often, one of the reasons for a hung instance of Zend Studio is a broken workspace. Zend Studio, and Eclipse, cache a LOT of information and the IDE is highly dependent on that information. Sometimes that information gets royally mangled. If the workspace is salvagable, and it usually is, the easiest way to fix the problem is to have Studio clean its cache.
I deployed this blog about a week ago. Since then there has been little traffic, mostly because I have not promoted it and I have also been working on a bunch of other content and such. Since I also just needed to just get it out the door and running I have not spent a lot of time testing for performance. This blogging app is based off of Zend_Application and as such there is a bit of overhead. Since I was not expecting traffic to be that heavy I was not (and am not) overly concerned about snappy performance at this point. As long as the page loads and displays in the browser I’m fine with it.