Tutorial Belajar PHP Part 2: Sejarah PHP dan Perkembangan Versi PHP

PHP yang dikenal sekarang sudah berbeda jauh dari tujuan awal aplikasi ini dikembangkan. Sebagai bahan pengetahuan bagi kita, tidak ada salahnya untuk mengetahui sejarah dan asal mula bahasa pemrograman web no.1 di dunia ini.

Selain sejarah PHP, kita juga akan membahas tentang pengembangan PHP dari PHP/FI versi 1 sampai PHP versi 5.6.3 yang baru saja dirilis 13 November 2014 lalu.


PHP/FI : Personal Home Page/Forms Interpreter

Sejarah PHP bermula pada tahun 1994 ketika programmer kelahiran Denmark yang sekarang berdomisili di Canada, Rasmus Lerdorf membuat sebuah script (kode program) dengan bahasa Perl untuk web pribadinya. Salah satu kegunaan script ini adalah untuk menampilkan resume pribadi dan mencatat jumlah pengunjung ke sebuah website.

Dengan alasan untuk meningkatkan performa, Rasmus Lerdorf kemudian membuat ulang kode program tersebut dalam bahasa C. Ia juga mengembangkannya lebih lanjut sehingga memiliki script tersebut memiliki kemampuan untuk memproses form HTML dan berkomunikasi dengan database.

Lerdorf menyebut kode program ini sebagai Personal Home Page/Forms Interpreter atau PHP/FI. Inilah asal mula penamaan PHP digunakan. PHP/FI dapat digunakan untuk membuat aplikasi web dinamis sederhana.

Lerdorf kemudian merilis kode tersebut ke publik dengan sebutan Personal Home Page Tools (PHP Tools) version 1.0. Perilisan ini diumumkan pada 8 Juni 1995 di alamat comp.infosystems.www.authoring.cgi, sebuah group diskusi Usenet.

Berikut adalah isi dari pengumuman tersebut:

From: rasmus@io.org (Rasmus Lerdorf)
Subject: Announce: Personal Home Page Tools (PHP Tools)
Date: 1995/06/08
Message-ID: <3r7pgp$aa1@ionews.io.org>#1/1
organization: none
newsgroups: comp.infosystems.www.authoring.cgi

Announcing the Personal Home Page Tools (PHP Tools) version 1.0.
These tools are a set of small tight cgi binaries written in C.
They perform a number of functions including:

. Logging accesses to your pages in your own private log files
. Real-time viewing of log information
. Providing a nice interface to this log information
. Displaying last access information right on your pages
. Full daily and total access counters
. Banning access to users based on their domain
. Password protecting pages based on users' domains
. Tracking accesses ** based on users' e-mail addresses **
. Tracking referring URL's - HTTP_REFERER support
. Performing server-side includes without needing server support for it
. Ability to not log accesses from certain domains (ie. your own)
. Easily create and display forms
. Ability to use form information in following documents

Here is what you don't need to use these tools:
. You do not need root access - install in your ~/public_html dir
. You do not need server-side includes enabled in your server
. You do not need access to Perl or Tcl or any other script interpreter
. You do not need access to the httpd log files

The only requirement for these tools to work is that you have
the ability to execute your own cgi programs. Ask your system
administrator if you are not sure what this means.

The tools also allow you to implement a guestbook or any other
form that needs to write information and display it to users
later in about 2 minutes.

The tools are in the public domain distributed under the GNU
Public License. Yes, that means they are free!
For a complete demonstration of these tools, point your browser
at: http://www.io.org/~rasmus

--
Rasmus Lerdorf
rasmus@io.org
http://www.io.org/~rasmus

Alamat website yang tertera di atas sudah tidak dipakai lagi. Dari pengumuman ini kita dapat mengetahui kebutuhan programmer saat itu, seperti mencari cara untuk membuat halaman yang dapat diproteksi dengan password, kemudahan dalam penanganan form, dan kemampuan mengakses data dari halaman lain.

Pengumuman itu juga mencerminkan bahwa PHP pada awalnya adalah sebuah framework bahasa C yang memiliki banyak fungsi dalam mengembangkan web, bukan sebuah bahasa pemrograman utuh seperti yang kita kenal sekarang.


PHP/FI : Personal Home Page/Forms Interpreter 2

Seiring dengan pengembangan dan penambahan fitur web pada saat itu, pada April 1996, Rasmus Lerdorf mengumumkan PHP/FI versi 2.0. PHP versi 2 ini dirancang Lerdorf pada saat mengerjakan sebuah proyek di University of Toronto yang membutuhkan pengolahan data dan tampilan web yang rumit. PHP/FI versi 1 sebenarnya sudah mencukupi, namun performa yang dihasilkan dirasakan belum cukup, sehingga butuh penambahan fitur lanjutan.

Berikut adalah email dari Lerdorf yang ditujukan kepada group diskusi Usenet pada tahun 1996.

From: rasmus@madhaus.utcs.utoronto.ca (Rasmus Lerdorf)
Subject: ANNOUNCE: PHP/FI Server-side HTML-Embedded Scripting Language
Date: 1996/04/16
Newsgroups: comp.infosystems.www.authoring.cgi

PHP/FI is a server-side HTML embedded scripting language. It has built-in
access logging and access restriction features and also support for
embedded SQL queries to mSQL and/or Postgres95 backend databases.

It is most likely the fastest and simplest tool available for creating
database-enabled web sites.
It will work with any UNIX-based web server on every UNIX flavour out
there. The package is completely free of charge for all uses including
commercial.

Feature List:
. Access Logging
Log every hit to your pages in either a dbm or an mSQL database.
Having hit information in a database format makes later analysis easier.
. Access Restriction
Password protect your pages, or restrict access based on the refering URL
plus many other options.
. mSQL Support
Embed mSQL queries right in your HTML source files
. Postgres95 Support
Embed Postgres95 queries right in your HTML source files
. DBM Support
DB, DBM, NDBM and GDBM are all supported
. RFC-1867 File Upload Support
Create file upload forms
. Variables, Arrays, Associative Arrays
. User-Defined Functions with static variables + recursion
. Conditionals and While loops
Writing conditional dynamic web pages could not be easier than with
the PHP/FI conditionals and looping support
. Extended Regular Expressions
Powerful string manipulation support through full regexp support
. Raw HTTP Header Control
Lets you send customized HTTP headers to the browser for advanced
features such as cookies.
. Dynamic GIF Image Creation
Thomas Boutell's GD library is supported through an easy-to-use set of
tags.

It can be downloaded from the File Archive at: <URL:http://www.vex.net/php>
--

Rasmus Lerdorf
rasmus@vex.net

Dalam email tersebut, dijelaskan juga penambahan fitur-fitur baru di dalam PHP/FI versi 2. Dalam pengumuman ini jugalah pertama kalinya kata "scripting language" (bahasa script) digunakan dalam PHP.

Alasan utama untuk perilisan versi kedua ini dikarenakan tuntutan programmer web yang saat itu menginginkan lebih dari sekedar kumpulan fungsi-fungsi, namun juga membutuhkan fitur logika seperti "if" dan "else".


PHP: Hypertext Preprocessor 3

Evolusi PHP berikutnya terjadi pada pertengahan tahun 1997, PHP versi 2 telah menarik banyak perhatian programmer, namun bahasa ini memiliki masalah dengan kestabilan yang kurang bisa diandalkan. Hal ini lebih dikarenakan Lerdorf hanya bekerja sendiri untuk mengembangkan PHP.

Pada saat itulah Zeev Suraski dan Andi Gutmans, ikut mengambil bagian dan membuat ulang parsing engine yang menjadi dasar dari PHP agar lebih stabil.

Dengan dukungan dari banyak programmer lainnya, Proyek PHP secara perlahan beralih dari proyek satu orang menjadi proyek massal yang lebih akrab kita kenal sebagai open-source project. PHP selanjutnya dikembangkan oleh The PHP Group yang merupakan kumpulan banyak programmer dari seluruh dunia.

PHP versi 3 resmi dirilis pada Juni 1998:

June 6, 1998 -- The PHP Development Team announced the release of PHP 3.0,
the latest release of the server-side scripting solution already in use on
over 70,000 World Wide Web sites.

This all-new version of the popular scripting language includes support
for all major operating systems (Windows 95/NT, most versions of Unix,
and Macintosh) and web servers (including Apache, Netscape servers,
WebSite Pro, and Microsoft Internet Information Server).
PHP 3.0 also supports a wide range of databases, including Oracle, Sybase, 
Solid, MySQ, mSQL, and PostgreSQL, as well as ODBC data sources.

New features include persistent database connections, support for the
SNMP and IMAP protocols, and a revamped C API for extending the language
with new features.

"PHP is a very programmer-friendly scripting language suitable for
people with little or no programming experience as well as the
seasoned web developer who needs to get things done quickly. The
best thing about PHP is that you get results quickly," 
said Rasmus Lerdorf, one of the developers of the language.

"Version 3 provides a much more powerful, reliable, and efficient
implementation of the language, while maintaining the ease of use and
rapid development that were the key to PHP's success in the past,"
added Andi Gutmans, one of the implementors of the new language core.

"At Circle Net we have found PHP to be the most robust platform for
rapid web-based application development available today," said Troy
Cobb, Chief Technology Officer at Circle Net, Inc. "Our use of PHP
has cut our development time in half, and more than doubled our client
satisfaction. PHP has enabled us to provide database-driven dynamic
solutions which perform at phenomenal speeds."

PHP 3.0 is available for free download in source form and binaries for
several platforms at http://www.php.net/.

The PHP Development Team is an international group of programmers who
lead the open development of PHP and related projects.
For more information, the PHP Development Team can be contacted at
core@php.net.

Perilisan PHP versi 3 juga ditandai dengan perubahan singkatan PHP yang sebelumnya PHP/FI: Personal Home Page Tools, menjadi PHP: Hypertext Preprocessor. Kepanjangan PHP sebagai PHP: Hypertext Preprocessor disebut juga sebagai kepanjangan rekursrif, sebuah istilah dalam pemrograman dimana suatu fungsi memanggil dirinya sendiri. Jadi, sejak PHP versi 3, kepanjangan PHP berubah menjadi PHP: Hypertext Preprocessor.

Setelah perilisan PHP 3.0, PHP semakin populer digunakan di seluruh dunia. Dan sejak saat itu, penggunaan PHP sebagai bahasa pemrograman web menjadi sebuah standar bagi programmer.


PHP: Hypertext Preprocessor 4

Segera setelahnya, Zeev Suraski, Andi Gutmans dan juga berbagai programmer di seluruh dunia mengembangkan PHP lebih jauh lagi dengan memperkenalkan banyak fitur lanjutan, seperti layer abstraksi antara PHP dengan web server, menambahkan mekanisme thread-safety, dan two-stage parsing. Parsing baru ini dikembangkan oleh Zeev dan Andi, dan dinamakan Zend engine. Akhirnya pada 22 May 2000 diluncurkan PHP 4.0

PHP versi 4 juga menyertakan fitur pemrograman objek / Object Oriented Programming, walaupun belum sempurna.

Pembuat PHP : Rasmus Lerdorf, Zeev Suraski dan Andi Gutmans

Pembuat PHP (dari kiri ke kanan): Rasmus Lerdorf, Andi Gutmans dan Zeev Suraski


PHP: Hypertext Preprocessor 5

Versi PHP terakhir hingga saat ini, yaitu PHP 5.x diluncurkan pada 13 Juli 2004. PHP 5 telah mendukung penuh pemrograman object dan peningkatan performa melalui Zend engine versi 2.

Beberapa penambahan fitur meliputi PDO (PHP Data Objects) untuk pengaksesan database, closures, trait, dan namespaces.

Hingga artikel ini di-update pada Desember 2014, versi stabil terakhir dari PHP adalah versi 5.6.3. Jika anda perhatikan, sudah lebih dari 10 tahun berlalu sejak dirilisnya PHP versi 5.


PHP: Hypertext Preprocessor 6

Versi lanjutan dari PHP, yakni PHP 6.x  sebenarnya telah lama dikembangkan, bahkan sejak tahun 2005. Fokus pengembangan PHP 6 terutama dalam mendukung Unicode agar PHP bisa mendukung berbagai jenis karakter bahasa non-latin.

Namun karena beberapa alasan seperti kurangnya programmer dan performa yang tidak memuaskan, pengembangan PHP 6 dihentikan dan fitur yang ada dimasukkan ke dalam PHP 5.


PHP: Hypertext Preprocessor 7

Pada tanggal 3 Desember 2015, PHP 7 resmi dirilis. Perubahan yang paling terlihat adalah peningkatan performa. Menggunakan Zend Engine 3, PHP 7 di-klaim berjalan 2 kali lebih cepat daripada PHP 5.6.

Core engine PHP 7 berasal dari proyek eksperimen phpng (PHP next generation), yang dikembangkan Dmitry Stogov, Xinchen Hui dan Nikita Popov. Proyek ini menggunakan pendekatan modern agar PHP diproses dengan lebih cepat seperti memakai teknik just-in-time (JIT) compiler.

Selain performa yang meningkat, terdapat beberapa fitur baru di PHP 7, seperti combined comparison operator atau dikenal dengan spaceship operator "<=>", anonymous classes, dan dukungan yang lebih stabil untuk server 64-bit.

Beberapa fitur yang sudah 'usang' (deprecated) juga dihapus, seperti penulisan PHP dengan ASP style <% %> dan tag <script language=php> </script>. Kedua cara ini sudah tidak bisa digunakan lagi.

Modul mysql extension juga dihapus karena sudah diganti dengan mysqli extension. Penghapusan modul mysql extension ini sering menjadi masalah karena banyak kode program atau buku PHP lama yang masih menggunakannya.

Terdapat hal unik dalam penamaan versi PHP. Sebelum PHP 7, versi terakhir dari PHP adalah PHP 5. Kemana PHP 6?

Setelah perdebatan yang cukup panjang, tim dibalik pengembangan PHP mengambil voting dan memutuskan tidak menamai PHP terbaru dengan PHP 6, tapi PHP 7. Tujuannya, agar menghindari kebingungan dengan buku PHP 6 yang sudah terlanjur beredar. Versi PHP akan langsung 'loncat' dari PHP 5 menjadi PHP 7. Dengan kata lain, PHP 6 'tidak pernah dilahirkan'.


Dalam tutorial PHP kali ini kita telah melihat tentang sejarah panjang PHP untuk menjadi bahasa pemrograman server-side paling populer hingga saat ini. Walaupun terkendala dengan perilisan PHP versi 6. PHP 7 saat ini menjadi versi PHP terbaru dan versi yang disarankan.

Dalam tutorial belajar PHP selanjutnya, kita akan membahas tentang Cara Menginstall PHP dengan XAMPP.

Sumber:

  1. http://en.wikipedia.org/wiki/PHP
  2. www.php.net
  3. Programming PHP, Third Edition – O'Reilly Media

19 Comments

  1. Anonymous
    09 Oct 14
    • Andre
      09 Oct 14
  2. munajat
    18 Apr 15
  3. tino
    20 Sep 15
    • Andre
      20 Sep 15
      • tino
        29 Feb 16
  4. rofik
    07 Jan 16
    • Andre
      07 Jan 16
      • Dipadana
        01 Sep 18
        • Andre
          03 Sep 18
  5. daswan
    05 Jun 16
    • Andre
      06 Jun 16
  6. Mirza Sharz
    17 Nov 16
  7. Daniel
    27 Dec 17
    • Andre
      28 Dec 17
  8. fadil
    19 Mar 18
  9. Sidiq Alfiansyah
    20 Jan 21
    • Andre
      21 Jan 21

Add Comment