I'm the process of building an application using PHP and MySQL, and I'm having trouble with where to get started. Specifically - what framework to use? How to set up SVN? How do I set a timeline for the project? start building or do analysis first? Basic questions like these. I've programmed in ruby on Rails before, but don't know how much transfers over.<p>Is starting with a book the best idea? I was going to go with this one: http://amzn.com/0596157134 Any other recommendations on books or how to get started?
For a framework we both like Zend Studio, it ties in with Eclipse and Subversion.<p>Framework:
<a href="http://www.zend.com/products/studio/" rel="nofollow">http://www.zend.com/products/studio/</a><p>To learn Zend Studio:<p>Zend Studio for Eclipse Developer's Guide <a href="http://www.amazon.com/Zend-Studio-Eclipse-Developers-Guide/dp/0672329409" rel="nofollow">http://www.amazon.com/Zend-Studio-Eclipse-Developers-Guide/d...</a> will walk you through it painlessly in a weekend.<p>Subversion Setup:<p>1. <a href="http://wiki.centos.org/HowTos/Subversion" rel="nofollow">http://wiki.centos.org/HowTos/Subversion</a>
(This is unique to the Centos5/RHEL5 distro)<p>2. <a href="http://www.tonyspencer.com/2007/03/02/setup-a-subversion-server-in-4-minutes/" rel="nofollow">http://www.tonyspencer.com/2007/03/02/setup-a-subversion-ser...</a>
(This is unique to Fedora core 6)
If you are using a different distro, look for it on the web.<p>3. <a href="http://www.kreci.net/linux/working-with-svn-how-to-start/" rel="nofollow">http://www.kreci.net/linux/working-with-svn-how-to-start/</a><p>I am not a Subversion Guru, but as a PHP developer you will get the most benefit from it (productivity wise) if you can install it directly on your production server machine. This is because your development server, staging server, and production server environments will be identical, meaning you will not have to spend time re-coding to make your stuff run due to minor differences in servers.<p>You can find free Subversion accounts on the web <a href="http://stackoverflow.com/questions/59791/free-online-private-svn-repositories" rel="nofollow">http://stackoverflow.com/questions/59791/free-online-private...</a> but I do not recommend it for PHP because you lose the benefit of using it in identical development and production environments.
The framework really depends on what it is exactly that you are building.<p>I would recommend a more modern version control system.<p>You can use something like redmine (set up yourself) or clockingit (free and hosted) to manage your project, but I might skip that part depending on the scope.<p>Definitely do analysis first. Design the program before you write the program.