PHP: The Good, The Bad, The Ugly And The Wonderful

PHP, the acronym for Hypertext Processor, is a popular open sourced scripting language. It is one of the simplest server side languages and is widely used for web designing. Most APIs are designed by combining a few languages using an emulator. An emulator is either hardware or software that enables one system to function like another.

If you are planning to learn PHP, and are looking for an overview, then you are at the right place. In this article, we look at the history of PHP, what it is used for, the basic program structure, its advantages and disadvantages.

History of PHP : – 

Rasmus Lerdorf, a former Yahoo! Inc. Infrastructure Architecture Engineer, first developed PHP by extending programs of his personal homepage, which were coded in C, so that they work with web forms and communicate with databases. He first named this implementation as Personal Home Page/Forms Interpreter (PHP/FI).

Though it was not the original intention of Lerdorf, PHP grew meticulously and a team of developers began working on it, adding the next logical step along the way and after a few months of working and testing, PHP/FI2 was officially released in November 1997.

Following the release of PHP/FI2, well-known developers like Zeev Suraski and Andi Gutmans began re-writing and re-developing its core, making it available for all kinds of operating systems. Currently, the PHP versions 5.5 and 5.6 are widely popular.

What Is PHP Used For? : –

PHP programs are CGI (Common Gateway Interface) programs, which mean they can be used for purposes like collecting form data, generating dynamic web page content, sending or receiving cookies. Additionally, PHP is used in the following areas –

  • Server side scripting
  • Command line scripting
  • Developing desktop applications
  • Web pages and applications
  • Web content management systems
  • E-Commerce applications
  • GUI based applications
  • Image processing
  • Data representation
  • Graphic designing

Basic Program Structure : – 

The basic PHP syntax looks like this –

PHP syntax

The program should begin with ‘’ .The default extension of a PHP program is ‘.php’. Below is an example program which prints the text ‘Hello World’ on a web page.
PHP Hello World

Another example would be –

PHP

As you can see, the basic syntaxes are very similar to a C program. PHP also supports the OOP features in C++. If you are a student of website designing, learning PHP is an easy way to understand more complex scripting languages, like JS, because it does not contain nearly as many libraries as the others.

The Good : – 

PHP is one of the easiest scripting languages and is popularly used along with WordPress to develop websites.

Here are some advantages of PHP –

  • Open Sourced:  PHP is owned by a large community of developers with an extensive library and is licenced under the GNU GPL and hence is cost effective.
  • Speed:  It is faster than other scripting languages.
  • Stable:  As it maintained by a community, any bugs in the language can be easily rectified.
  • Easy to learn and implement: Its syntax is very C-like; as C is one of the first languages to be taught in school, anybody can learn PHP and implement it.
  • Centralized database:  PHP allows all the servers to use the same database. MySQL is used for the database requirements.
  • Database connection modules:  PHP contains in-built database connection modules. This immensely reduces the size of the code as well as the time taken to write it.
  • Library support:  Many functional modules like PDF operations, graphs, etc. are available in the library. No further programming is required.
  • Platforms:  It can be run on Windows, UNIX based operating systems and the iOS.
  • Efficient: A PHP application is terminated after every request. This is efficient because a problem occurring in state ‘t’ does not appear in the upcoming requests.
  • No compilation: As PHP is a scripting language, it does not need compilation.
  • Optional Dynamic Typing: PHP allows optional dynamic typings (checking is done at run-time); use it only when you need to.
  • Easy to break encapsulation: Breaking encapsulation when you require to access a private object is easy. It is not possible in other languages like Java.
  • Not just OOP: PHP supports OOP but can be used for FP as well.

The Bad : – 

  • Not Suitable for large applications: It is not very modular and is not suitable for large apps.
  • Implicit data type conversion: PHP converts data types implicitly. This is a huge problem for beginners because though the syntax and logic are right, you have no way of compiling the program to know where they have gone wrong.
  • No multithreading: Multithreading is not supported by PHP. Programmers use a queue system to get around this problem.
  • Security: As it is owned by a community, anybody can rewrite the code.
  • Poor error-handling: Because it does not provide sufficient error-handling, as a PHP developer, you should foresee possible errors an overcome them.

The Ugly : – 

PHP is quite brittle and easily hackable as anybody can break encapsulations and access private objects of parent classes. It’s not pretty but the other advantages override this huge disadvantage.

Things To Remember When Programming in PHP : – 

As the security of PHP web pages can easily be compromised, PHP should not be used for web pages constituting sensitive data (like an administrator login page). Alternatively, you can employ various measures, like security plugins to ensure the safety of data.

However, PHP can be used for applications like forums, reminder-apps, updates, freelance bloggers, etc. It is also beneficial to use a wire-frame before programming to integrate all elements of the web page together.

As you can see, there are varied pros and cons. As the saying goes, “There is no one size fits all”. It all comes down to what your application requires and how comfortable you are with programming.

Follow me

Jignesh Kothia

Director at WebPlanex
Jignesh Kothia, Director at WebPlanex, with a penchant for technology created an organization that helps businesses push up their growth and deliver only the best to its clients. He is proficient in a number of web and mobile app development technologies including PHP, YII, HTML5, Laravel, Rest API, Android, iOS, and many more.
Follow me

Comments are closed.