| a) Starting with tutorials is a logical first step, however they may be some bad advice in there. Writing some simple applications or pages to accomplish stuff is good to get a handle on the breadth of built-in functionality. Please also note that PHP 5 has much better OO functionality than PHP 4. PHP 4 is end-of-lifed, however CodeIgniter is still compatible with PHP 4, thus limiting it in some respects. I wouldn't focus on too much open source PHP apps, much of them are kind of sloppy-the frameworks will probably be a better code base to look at. Just like any other language you can write sloppy code, but you can also exert some effort and make a well-organized codebase. The last thing I would recommend is to read about PHP security issues. (Disclaimer, this is my own site) http://flourishlib.com/docs/Security has an overview of security issues, however some of it is focused on using Flourish to fix issues. b) I would recommend looking at: - PHPEd (commercial, http://nusphere.com) <- I use this
- Netbeans 6.5 (open source, http://netbeans.org)
- Aptana with the PHP 1.0 plugin (open source/commercial, http://aptana.com/php)
Komodo (commercial, http://www.activestate.com/Products/komodo_ide/) was alright but I haven't tried the new 5.0 release. Eclipse PDT 1.x (http://eclipse.org/pdt/) was ok, but very much a pain to configure-I hear 2.0 is coming out soon.c) In terms of frameworks, here are a few of the big ones in addition to CodeIgniter, however if performance is a concern, please do check out http://paul-m-jones.com/?p=315. - http://cakephp.org
- http://framework.zend.com
- http://symfony-project.org
http://kohanaphp.com may be of interest since it was originally based on CodeIgniter, but has been rewritten to use PHP 5 functionality.Definitely learn to use http://php.net for lots of reference. The comments on function pages can often include a good amount of insight. All functions are accessible via http://php.net/function_name. If you are looking for less of a framework, but more of a library, I've been working on Flourish (http://flourishlib.com) for a while. I've focused a good amount on security, documentation and usability. |