3.1: Server-Side and Client-Side Scripting
- Page ID
Created in 1994 at the hands of Rasmus Lerdorf, PHP began as a set of CGI scripts developed to track views of his resume online. Rasmus continued adding scripts to his collection so he could do more with his websites. Over time, some friends began to use it as well. By June of 1995, enough of a framework was in place that Rasmus decided to make PHP public. As others embraced it and began to submit their own work, PHP grew. By version 3 it was decided that the time had come for a more professional name. In homage to its original name of Personal Home Page, the PHP acronym was kept, but was changed to a recursive representation of “hypertext preprocessor.” PHP was now an independent language, with object-oriented capabilities, high extensibility, and had a growing following.
As the community grew, the core team of Rasmus, Andi Gutmans, and Zeev Suraski continued their work. Gutmans and Suraski rewrote the core of the engine and dubbed version 4 Zend, a blend of Gutmans and Suraski’s first names. Now with dozens of developers and even more contributors, PHP has grown to version 5 and is installed on tens of millions of servers around the world. It continues to rank as one of the top ten web development languages.
Some advantages to server-side languages are that the code is hidden from the user, and secures what is taking place in the background. It also reduces the workload that the user’s computer is burdened with. This, however, also means the server must be powerful enough to support the number of users requesting pages, as it must bear the brunt of the computation.
PHP is a parsing engine, which means it examines the php file, performs any php related tasks it finds and passes the result to the web server. This makes it an interpreted language, as the output and script are run on demand, as opposed to a compiled language where the code is transformed and saved into a runnable form.
|Object-oriented. No distinction between types of objects. Inheritance is through the prototype mechanism, and properties and methods can be added to any object dynamically.||Class-based. Objects are divided into classes and instances with all inheritance through the class hierarchy. Classes and instances cannot have properties or methods added dynamically.|
|Variable data types are not declared (dynamic typing).||Variable data types must be declared (static typing).|
|Cannot automatically write to hard disk.||Cannot automatically write to hard disk.|