PHP - what it does and what it doesn't
PHP is a Server side scripting language. Its primary competitors are ASP (Microsoft), JSP (Sun), CFM (Adobe), and Perl (often called cgi by hosting companies, although it is not the only cgi language).
PHP was originally created in 1995, so as a technology it is fairly mature. Version 5.x is the latest stable version and 6 is under development. It is currently running almost 20 million websites including big names like Facebook.
The most common server architecture on which PHP is found is called LAMP (for Linux + Apache + MySQL + PHP). All of the elements of LAMP are open source, meaning that the source code of the application is freely available. This means that the cost of setting up a server running LAMP is reduced (No License Fees), so LAMP based web hosting tends to be the least expensive solution available.
The Internet is built on a client-server architecture. On the client side we have the user and the browser. One the server side we have the server and its script interpreter (In our case, Apache and PHP).
Because PHP runs on the server side, we cannot use it for flashy client side effects, things like animations and auto-complete cannot be performed by php because php is only running on the server. For client side programming we could use javascript, Flash/Flex, Silverlight, or JavaFX.
What we can do with PHP is access a database, connect to other websites/services for information, and build a page out of smaller pieces, which we then deliver to the client for rendering.
I think it is important to indicate at this time that there are four levels at which you can work with PHP.
- Scripting - this is where you take a small script and add it (integrate) into an existing page.
- Coding - this is where you write scripts as needed to add basic functionality to your site.
- Development - this is where you write an full application in PHP.
- Architect - this is where you properly design an application that develop it into an application. Like development but puts a lot more thought into a good foundation.
Depending on your actual needs, several of these layers could be overkill for your task. The following articles will mainly be focused on the first two levels - scripting, and coding. In Scripting and coding we have two primary tasks we accomplish. One makes your job as webmaster easier. The second adds new functionality to your site.
Jeremiah Stover is a Software Engineer and a Business IT Consultant at Pragmatic Development. He has hands on experience and regularly provides practical advice in Business, Marketing, IT equipment and software. His Specialties include interpersonal communications, design skills, teaching and instruction. Right now he spends most of his time developing web applications in PHP and MySQL.
Advertisement