Tobias Ratchiller is the Webmaster of the site PHP Wizard http://www.phpwizard.net and a co-author of the book Web Application Development With PHP. Tobias also appears at seminars around the world giving talks on a number of business and web development issues. PHP Wizard provides a number of free PHP web applications visitors can implement on their own sites. As well as this, PHP Wizard also provides many resources aimed at web developers and programmers.
First off, can you give us a brief primer on what PHP actually is? Also, What kind of additional things does it allow web developers to do with their web pages?
PHP (PHP Hypertext Preprocessor) is a server side scripting languages used to generate content for the Web. You can use PHP to query databases, generate dynamic graphs, output PDF on the fly, and do many other things. You can compare PHP to technologies like JSP, ASP, ColdFusion, and Mod_Perl.
In your opinion, what advantages does PHP have over other server-side scripting languages such as ASP?
PHP was designed specifically for the Web - unlike Java, VBScript, and similar languages. It has over 1600 functions just for dealing with the Web; this offers unparalleled flexibility, development speed, and ease of use. For example, all major databases (including MySQL, Postgres, Oracle, and SAP-DB) are supported natively, without having to go through a slow ODBC driver.
Plus, PHP is free and Open Source. This means, that in case you have a problem, you can fix it yourself (or hire someone to do it) - you don't have to rely on a third party. The new major release, PHP 4.0, is now also ready for enterprise demands, with its full connectivity and high performance.
One of the disadvantages I have heard mentioned about dynamically generating web pages, is the delay for processing when the user requests a page. Does this problem need to be considered or is the delay so slight it is not worth worrying about?
The processing time greatly depends on your specific application. If you have very complex database calls and calculations, it can certainly become a problem, even with fastest technology like PHP 4.0. Generally, though, the execution speed is nothing to worry about. If you're in doubt, benchmark the page and see if it really is much slower than a static page. If it is, you can still use Zend Technologies' free PHP Optimizer, which reduces the loading time of the application. With that tool, your pages can even be delivered faster than static ones!
Another issue Webmasters need to consider is the fact that many search engines do not yet index dynamically generated pages. Google has recently announced it will start indexing some dynamic web pages, which is hopefully a sign of things to come. Do you think other search engines and directories will follow down this path?
This is of course an issue. For the search engines, it is difficult to consider the content of dynamic pages. After all, it could look totally different on a second request (for example, with a joke of the day application) - indexing such pages would not make much sense. On the other hand, many sites are purely dynamic, because it makes administration easier. Not indexing these kind of pages would be foolish.
Many search engines solve this problem by not indexing dynamic pages at all. But how do they know whether a page has been generated dynamically or not? After all, it's always the same HTML. So they look at the page extension (.pl, .cgi, .asp, etc.) or other indicators of dynamic content (for example, a question mark after the file name). Knowing that, we already have the solution: Remove all these indications from your site. Configure your web server in such a way that PHP script can be contained in .html files. Don't use question marks for parameters but append them after the file name in a different way (for example, file.html/more/arguments). This way, no search engine will be able to tell that your site is in reality dynamic and index it just like any static site.
Any Webmaster of a content-based web site which does not use a database or other methods to generate pages will tell you the same thing. It is a nightmare to update and maintain pages manually. What advice would you give Webmasters faced with this problem on the steps towards a more manageable web site?
Learn to use PHP. :)
I noticed the quality and functionality of free scripts and applications such as those offered on phpwizard.net often surpass those which others make you pay for. Why do developers like yourself give away such good scripts for free?
There are different factors playing a role here. For one, many developers simply want to be appreciated and love the emails from users telling them that their application rocks and that their code is terrific. Then, many tools are not developed with a commercial background. For example, I needed a tool to administer my MySQL database, so I wrote phpMyAdmin. Because I had never intended it to make me money, I simply gave it away for free. Last and not least, many developers are users of other Open Source software, and want to give something back to the community by sharing their application.
Finally, from where you stand, what changes in the use of PHP, its functionality and features can you see over the next few years? Does it stand a chance in overtaking ASP in terms of usage?
PHP will certainly evolve to bring even more features to the Web developer and the enterprise. Over the last years, we have seen a continuing trend to more openness and standard compliance. PHP will play an important role in this field, and strengthen its position as leading Web scripting language.