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 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.
PHP Evolution
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.
PHP Past
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.
PHP Present
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.
PHP Future
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 Licensing
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.
About the Author
James Murphy is the Owner of Connex Hosting
Limited and 1Line Web Site Design
both places provide great services such as Accessibility, SEO and all aspects
of web design and programming.