By James Murphy
We expect our readers to have a more than firm handle on what PHP is, but for completeness-sake: PHP (a recursive acronym of PHP: Hypertext Pre-processor) is an open source, server-side web-scripting language for creating dynamic pages. Outside of it being browser independent, if offers a simple and universal cross-platform solution for e-commerce, and complex web and data-driven applications.
# A low, smooth learning curve.
# Broad functionality for databases, strings, network connectivity, file system support, Java, COM, XML, CORBA, WDDX, and Macromedia Flash.
# Platform compatibility with UNIX (all variants), Win32 (NT/95/98/2000), QNX, MacOS (WebTen), OSX, OS/2, and BeOS.
# Server compatibility for Apache module (UNIX, Win32), CGI/FastCGI, thttpd, fhttpd, phttpd, ISAPI (ISS, Zeus), NSAPI (Netscape iPlanet), Java servlet engines, AOLServer, and Roxen/Caudium module.
# A rapid development cycle. New versions with bug fixes, additional functionality, and other improvements are released every few months.
# A vibrant and supportive community. Code examples and free code abound. The PHP group has done an excellent job of providing new users with resources and support.
# Easy extensibility. We can easily roll out our own extensions to the language.
# A simple syntax that resembles C. It’s easy for experienced C, C++, Perl and shell coders to pick up PHP.
Plus, it’s open source, and it’s free.
If you’re new to PHP, here’s a quick run down on where it’s been, where it is now, and where it’s going.
We will tersely summarize the history of PHP here, but we urge readers interested in the historical aspects of PHP development to review the introductory PHP presentations at http://conf.php.net/ or read the Brief History section in the PHP/FI 2 manual at http://php.net/docs.php.
Rasmus Lerdorf conceived the idea of PHP in the fall of 1994. Version 1 of the language was implemented in the early 1995 and was embraced by a handful of users, following which Version 2 was released later the same year. Version 3 and 4 followed in 1997 and 2000 respectively.
As of the time of writing, PHP usage is growing at a rate of 15% each month, and is in use on at least twenty million domains (Source: Netcraft Survey), which is about 20% of all the domains registered so far. This is a significant chunk of the market, given that these figures do not account for the multitude of installations that run on intranets and private development servers.
PHP runs on 7 major platforms (stable), 10 server interfaces (stable), supports 40 stable extensions (and about as many experimental ones), and offers support to over 20 databases. These figures are testimony to the fact that PHP has grown to its current popularity based on its power and ease of use.
The PHP5 scripting engine is a second revision of the PHP4 scripting engine, and provides more obvious intrastate and services to the function modules, and implements the language syntax. This revised version is largely based on the same parsing rules as the PHP4 engine, thus providing goof backward compatibility and migration path from PHP4 to PHP5. But the downside is the limited scope of language-level improvements, to the PHP4 mindset.
With feedback from a multitude of PHP developers, Zend Technologies Ltd has embarked on a revision of the Zend Engine that will incorporate the PHP developers experience today. We urge you to add http://www.zend.com/zend/future.php to your list of favourite, and also subscribe to the Zend 2.0 monitoring the PHP roadmap.
PHP vs. Other Scripting Languages
For those who have migrated form other scripting languages, we have detailed a section on why you just made the right choice.
PHP vs. ASP
ASP (Active Server Pages) is Microsoft’s proprietary scripting “language”. Loosely speaking, ASP isn’t a language, but a scripting extension of Visual Basic. For this reason, ASP is relatively easy to pick up for anyone who is familiar with Visual Basic.
Disadvantages? For one, ASP is generally slower than PHP. ASP is fundamental user of COM-based architecture. So, when an ASP programmer accesses the database and writes to the client, they’re calling upon the COM strictures of another NT server or an OS layer to assist. This COM overhead can add up and results in average performance for anything more than medium-traffic simple page delivery. Also, ASP isn’t exactly ready to port and integrate with GNU tools and open source environments or servers.
Since it’s a proprietary system of Microsoft, it is mostly used on their Internet Information server (IIS), which limits common adoption of ASP to Windows 32 bit systems – where it comes as a free piece of code to most server customers. There are versions for UNIX 9see Chilli Soft ASP) and several ASP concern. A solution to this problem might be to use the asp2php program (http://asp2psp.maken.cc/), which will convert ASP to PHP.
PHP vs. Cold Fusion
PHP runs on virtually every platform; Cold Fusion is only available on Win32, Solaris, Linux, and HP/US. PHP initially requires more programming knowledge in contrast with Cold Fusion, which has a refined IDE and simpler language constructs. PHP is less resource intensive.
PHP vs. Perl
Since PHP was designed specifically for the Web, it has the upper hand on Perl in this area, since Perl was designed for myriad applications (and consequently looks the part). The format and syntax of Perl can make a Perl script hard to read and modify later when updates are needed.
Though Perl has been around for quite some time (it was developed in the late 1980s), and is widely supported, it has grown into a complex structure of additions and extensions and is imply just too much. PHP has a less confusing format without losing its flexible nature. PHP is easier to integrate into existing HTML and offers similar functionality to Perl, but with so much more grace.
PHP vs. Java
PHP is simpler to use than Java and makes it easier to architect web applications while also gaining similar advantages of flexibility and scalability. Using PHP doesn’t require 5 years of software engineering experience to create simple, dynamic pages and can be used by savvy, but inexperienced, computer programmers.
Java is often expensive too, as most companies end up having a stand alone box to run Java enterprise and use Oracle and other expensive software. Having said all that, PHP still has to grow and in that it’s not as portable or doesn’t have some of the nice features like object pooling or database mapping as in Java. These issues are being addressed in the Zend 2.0 engine design consideration.
PHP was earlier released under both GPL (General Public Licence) and its own licence, which left the individual user free to choose the licence they preferred. Now the program as a while is released under its own extremely laissez-faire PHP4 licence.
At the time of writing, the Zend licence was release under the QPL (Q Public Licence). Please refer http://www.zend.com/licence/ZendLicence/ for more details. Also quoted in their press release in the change to BSD-style licence, to provide compatibility with the PHP licence, and offer greater freedom of development.
Click here for reprints and timely articles on search engines, optimization, marketing, and advertising ideas.