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 (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.
Sumber:
3. Programming
PHP, Third Edition – O’Reilly Media
Post a Comment
Post a Comment
Jangan lupa komentar