SVN and CVS are essentially two sides of the same coin. If you have not heard of them (I use SVN, or subversion) what they basically do is save your work in a system that makes it possible to restore previous versions should the need arise. And trust me--the need arises. Most developers will argue that SVN is only really necessary when you have multiple developers working on the same project. What this means is that multiple developers can work on the same file at the same time, and SVN will simply handle the conflicts by merging all of the work into one file wherever possible. It's my opinion, however, that even if you are working alone, SVN is very important. I have SVN on my localhost, and we use it at the office too--yes, it's running on the DIE HARD Ubuntu Server. What is nice about this is that we can always go back to a previous version of a project and restore it to that point, making it really convenient should you need to branch off in a diferent direction.
As you can see, what I have spoken about here is actually relevant to development as a whole, rather than just PHP. However, knowing what I do about how PHP development tends to spiral and mushroom into an enormous multi-headed monster, should we not plan or concentrate--or both? These are the very first two things I can suggest that you do in order to get started in development of applications that are not only developed in a controlled and structured environment, but in an environment that mimmicks the production environment as much as possible. It's the most effective way to start as it gets.