This is the first in a series of articles I am writing to teach you how to develop in an agile PHP environment. I will be presenting all of this information in person at the Houston PHP meet-up in April of 2009.
Over the course of the last couple of years, I have drifted around various development environments looking for the right one for me. After finding a great setup, and using it for long enough to see some of it's kinks, I have decided to document my journey for the rest of you. Now I must forwarn you, this is not the definitive end all document for how to setup your php work environment. I recommend that you try everything here, but only keep what really helps your performance the most. Many motivational speakers do recommend working outside your comfort zone occasionally, there is a reason for this. However, different developers operate more efficiently in different conditions. In fact, lets start with the conditions that are typical of my projects, so that you can start to get the insight into the knowledge I am attempting to fire at you here.
The most important thing to acknowledge is that I typically do not have a team of developers. However, I would like to make the point that an entire team of developers should actually be using something close to this anyways. I have also had nearly full control of the deployment environment. I have pretty much run the most bleeding edge stable version of PHP available for the last 2 years. What does that mean to the developers? Well, it means that you don't have to cater to some of the more obscene hoops that some folks do. In fact, if I didn't have control over the deployment server, it was probably a cPanel server. Again though, the setup I am using should deploy to pretty much any setup you would be using PHP.
There are also a couple of things that I consider non-typical skill sets. I want to disclose those right now so as to give warning to those who don't have those skills when they wonder why I use a particular setup. I work efficiently on the command line. I prefer using the keyboard to the mouse for the majority of everything. I am proficient in linux, as well as the system's administration of LAMP. I know how to operate gentoo fairly well, or at least I would like to think I do. If you aren't a command line or only operate well in windows, don't be afraid. I will try to have windows instructions of everything that I am doing currently now as well, so that you can learn from this as well. Ultimately though, I hope that you take the time to learn how to operate linux effectively for yourself. You will be happy with the results.
The final thing I would like to cover before getting into the nitty gritty details of this is how to implement these articles. If you attempt to read the brunt of these articles and implement them all at once, you are destined for trouble. Unless you are in downtime, I would recommend being steady about your implementation. Some of the articles can be implemented in less than a few hours without further reprecussions(mostly the sys admin articles like apache configuration, etc.). Some of the articles, however, have a large learning curve and will almost always come with efficiency hit(like using VIM+Yakuake as an IDE). I will do my best to give an estimation of the amount of work required to implement each article.
So without further purposement, here are links to all of the articles:
- Configuring Apache for local development
- Keep checking back here until all of the articles are completed or subscribe to the rss feed.
0 comments:
Post a Comment