Greets,
I have just read an article titled "The Power of CVS" by Tim Purdue. I myself have developed PHP web sites using CVS, but I am looking for a better way.
The first thing I need to state is that I like developing classes. My theory is that all of my classes should be sharable to all of my developers, regardless of who they may be.
The second thing is that I don't just have a single site. I like to develop "applications" that go INTO a site. So, I may have www.phpsite.com, but in it I may have dozens of "applications". Each application would have it's own CVS module, and could optionally use the shared PHP classes I have created.
The third thing is that my PHP is highly specialized. It's got Oracle and LDAP hooks, as well as a multitude of other "helper" modules built into it. And it parallells my production servers. This limits the development environment somewhat.
Finally, the developers use Zend Studio to develop PHP on Windows 2000 workstations. They have WinCVS on their desktops, and they have shell access to the Linux PHP development server. PHP is NOT configured on the Windows 2000 workstations.
So, with that arena defined, here is my developmental "dream":
-I would like to be able to develop PHP on Windows 2000 with the Zend Studio IDE.
-I would like to be able to develop and test on my Linux box with the IDE.
-I would like the test directory to be my own public_html directory, and have all of the PHP files needed for the application, including classes, dumped into the root of public_html.
-I would like the classes to be centralized. This means that they would be in a /usr/local/share directory, and would also be a CVS module. As per above, I would like to include this module in all of my PHP projects, except have the classes be dumped in the same directory as the other project files (i.e. they wouldn't be in a subdirectory in my main PHP CVS project that included modules usually do)
-I would like to be able to test my changes as I make them (i.e. I don't want to run a script to copy my files to the proper directories every time I want to test it).
-Once my testing has been completed, I would like to commit it to my CVS repository without having to copy files all over the place (i.e. do my development and testing on CVS project files).
This is what I think would be best. Are there any suggestions for allowing this sort of development environment? Are there any alternate suggestions? Any more articles that discuss this?
Thanks,
Jason