Thursday, May 15, 2008

PHP Cynosure of developer’s eye.

PHP has taken the IT world by storm. Developers have taken a liking for PHP because it is emerging as the most efficient, open-source scripting language. Besides, it’s a well-known fact, that Apache is the most used web server in the world and that PHP is the most used language. The article discusses briefly what makes PHP the cynosure of developer’s eye.
Eager to know who’s the brain behind this big-bang theory in the development world? He’s Rasmus Lerdorf The developer utilized the first version to run his own home page, while his collection of Practical Extraction and Report Language (Perl) code snippets created by him in 1994 were named Personal Home Page (PHP).

The principle reason for Rasmus to develop PHP language was to keep a track of users viewing his on-line resume. To make it more powerful, Rasmus created functions in C to enable programmer connectivity to a database. This helps programmers coding in PHP, develop dynamic web sites.

Besides the PHP code was open for viewing and manipulation purpose, to further check out its practicality. The arrangement reportedly brought about an improvement in PHP’s coding standards.

In 1995, the second version of Personal Home Page was released along with a form interpreter (PHP/FI).

Such was the craze for the new language that by 1997 over 50,000 websites had PHP installed. In the same year PHP/FI 2.0 was developed by an alpha version. However, developers like Zeev Suraski and Andi Gutmans discovered that PHP/FI 2.0 was way behind the mark when it came to development of their eCommerce application.

Consequently the progress towards another version of PHP/FI was stopped and PHP 3.0 got the encouraging push. Within no time, version 3.0 proved to be hit due to its innovative features, which helped the end users develop their applications on many databases, protocols and APIs.

The jump from procedural to object orientated coding led to a change in PHP’s focus. The official version of PHP 3.0 was released in June 1998.

After the release, Andy and Zeev got totally engaged in improvisation of the PHP language for about two months in an attempt to optimize the performance of large websites. The duo were trying to introduce modularity in the language. The “Zend Engine” being the result (A combination of two letters existing in the creators Zeev and Andi names). In 1999 the Zend Engine was released.

In May 2000 PHP 3.0 gave way to PHP 4.0. The new version was bifurcated into three sections – The Zend Engine, Server API and Function Modules.

The Zend Engine is accountable for parsing PHP code, defining the syntax of the programming language.

The Server API enables communication and interfacing with the Web Server. With this API, integration of PHP with other servers is possible.

Function Modules comprises MySQL, XML, etc.

PHP 3.0 and PHP 4.0 utilize objects as containers of properties like associated arrays. An associated array is array with keys which have a value associated. The object had to belong to a class full of properties and functions.

Formerly, PHP objects where being utilized as associative arrays rather than the way they should be used. Values were used to pass objects into functions instead of reference. This challenged the purpose of programming with object, according to Zeev Suraski. According to him ‘Objects and other types of values are not equal; therefore, Objects should be passed around by reference unless stated otherwise."

So far PHP has struck a right chord with the developers. However, in a bid to make it more object oriented PHP 5.0 was evolved, based on the newest Zend Engine 2.0 release.

The Zend website provides an outline on how to use the Zend 2.0 Engine with the latest PHP 5.0 release. In the Zend 2.0 Engine, Andi Gutmans has treated Object very differently. Objects now will be dealt as object handles, indexed in a global object table.

This stirs up an important fact that should not be confused. That fact that the object handles will be passed by their value in the index table. This does not mean that the objects are being passed by value. The result is quite the opposite. The novel feature means that object handles will be passed by value and objects will be passed by reference.

Now PHP will perform functions like a proper Object Oriented language with this latest release of PHP 5. Objects acting like objects will now be of great advantage to the end users, as the overall functionality of the application gets enhanced. Consequently the application will run faster and the problems with regards to object orientation will reduce considerably. This means that large applications will be become easier to maintain and extend upon.

To facilitate PHP 5.0 with its new OO philosophy, Zend 2.0 has unleashed new offerings, like private member variables and methods, static variables and language level aggregation. PHP will now be able to interact with external component models, such as Java, COM/DCOM, and .Net.

This means that PHP now at a comfort level with Java and .Net environment, since the elements in these languages can be used transparently inside PHP, as if they were PHP components.

PHP 5.0 will use the identical interface for all objects, including native objects, ensuring that all objects in the application (i.e. PHP objects and overloaded objects) behave in a steady manner.

Besides PHP 5.0 will further find favor among the developers with its error handling capabilities so now your application can apprise the user of what the problems are.

PHP 5.0 is consistently evolving as the biggest plus point for web applications. With the use of the Zend Engine 2.0, large scale web applications using PHP 5.0 will perform better, thanks to PHP's continuous drive towards object orientation.

1 comment:

Donald Soft Tech said...

An ecommerce web site without a good web application is not possible. application development is the backbone of any online business irrespective of the fact whether it is catering to a large, small or medium customer base. There are many good companies in India that make such services easy and affordable, just browse the net and make your pick…