tags:

views:

160

answers:

4

I'm beginning PHP development, and I'm looking at picking brains for ideas and best practices, and also website resrouces, such as www.w3schools.com

Yes, it has to be PHP as that's the existing website technology that's being used.

I'm using Windows, although I'll be doing development on a Virtual Machine, maybe Virtual PC or Virtual Box running Windows 2000 or XP, or maybe Vista.

I'm an experienced VB6 and SQL Server developer, so I can use SQL Server as the back-end running on my host laptop, or I can use mySQL maybe. I'm thinking using SQL Server to start with would remove one layer of complexity, and allow me to concentrate on the webserver (Apache, maybe ?) and PHP and not have to worry too much about the database, as all that will be completely natural to me.

Framework recommendations, and one or two examples of what you have used them for will be appreciated.

Source and version control frameworks, tools, utilities and add-ins would also be appreciated.

I'm going to consider writing an answer to this question myself with my experiences as I get started, almost like a 'how-to' step-by-step guide so that anyone in the future who wants to do the same thing can get going even quicker.

Thanks in advance, gurus.

+2  A: 

First thing I suggest you do is read How Is PHP Done the Right Way?

For source control, Subversion is a decent place to start.

You will need Firefox plus Firebug. Also look at What’s in your web-developer toolbox? and Free tools to speed up web development.

In regards to frameworks, start with Choosing the right PHP framework.

You probably should consider Javascript frameworks too, in which case start with JavaScript frameworks and CSS frameworks: JQuery, YUI, neither, or something else? and Which Javascript framework (jQuery vs Dojo vs … )?

cletus
+3  A: 

Ignore frameworks to begin with. Once you have an idea about what php is/can, you can pick a framework. But don't do it as the first thing.

As for setup, I would strongly recommend that you use a standard stack. That means Apache and MySql. You can run it on Windows for development mode. The differences between Windows and *nix are rather small for most PHP applications.

For revision control you should probably use SVN, as it is the de-facto standard at the moment, and is fairly easy to use. You can download TortoiseSVN for Windows, if you don't like to use the command line.

Use PDO for database connectivity, rather than the older mysql_* functions. It's the new standard in php5. Make sure that magic-quotes are disabled, and use prepared statements/bound parameters for binding data to queries.

troelskn
+1, though I would point out that reading something like "How is PHP done the right way" can help a lot.
altCognito
A: 

I've used PHP extensively on the WISP (Windows, IIS, SQLServer, PHP) stack. It's a little unusual as the vast majority of PHP use is on LAMP, but personally I've found it to be rock solid.

If an MVC framework is not absolutely essential for you I would highly recommend the Tiny But Strong template system. I've used Smarty and various other PHP templating systems, but TBS wins hands down for me as it's very tight, clean and above all works with WYSIWYG page design programs such as Dreamweaver.

Cruachan
does PHP run natively on IIS or what do I need to install as this stack might suit me for tinkering, as I could also use it for .NET development.
cometbill
A: 

A huge plus is that PHP itself is very well documented. It's once you start using other people's code that things begin to get hairy.

CurtainDog