Bag. 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’.

Post a Comment