Perbedaan PHP4 dan PHP5 | Studi Banding

Aku mengenal PHP sejak dari Kuliah semester 4, sampai sekarang (semester 5). Itupun kebetulan lewat di tukang loak, kebetulan nemu buku yang berjuduk Dasar Pemrograman WEB Dinasmis Menggunakan PHP, oleh Abdul Kadir diterbitkan oleh Andi Yogyakarta pada tahun 2001 (awal2 PHP4 muncul). Aku pelajari buku tersebut, tentunya dengan menggunakan aplikasi server untuk php4 (appServ versi 4) waktu itu juga sudah ada XAMPP dari ApacheFriend versi 5 untuk php5.

Perbedaan yang paling mendasar menurutku pada saat belajar yaitu, ketika menulis :

Index.html

1
2
3
4
5
6
7
8
9
10
11
12





Input Nama :






Lalu skrip tes.php :

1
2
3
4
5


echo “Selamat Datang <b>.$nama.b>;

?>

Di php4 berhasil dengan Output misal : “Selamat datang ImamZW”. Tapi ketika dicoba di php5, tidak muncul.

Setelah diselidiki lebih jauh…masalahnya adalah, di php5 proses tersebut harus melalui proses pembacaan parameter name pada form dengan metode yang digunakan form.

Untuk skrip di atas, menggunakan parameter method = get. Berarti di php5 harus didefinisikan segala parameter name menjadi :

$_GET[‘nama_field’];

atau untuk contoh diatas maka :

$_GET[‘nama’];

Barulah skrip tersebut jalan :

tes.php :

1
2
3
4
5
6

/* Definisikan terlebih dahulu parameter nama dengan metode GET dari form */
$nama = $_GET[‘nama’];
/*Barulah ditampilkan..*/
echo “Selamat Datang <b>.$nama.b>;
?>

Dari perubahan yang cukup signifikan di atas, maka aku berfikir, pastilah banyak perubahan2 seperti kasus di atas. Benarlah perkiraan Aku, seperti parameter REMOTE_ADDR, harus didefinisikan terlebih dahulu melalui parameter $_SERVER yang di php4 tidak memerlukannya

$_SERVER[‘REMOTE_ADDR’];  // Bisa digunakan untuk kebutuhan LOG  (informasi IP klien).

Untuk lebih tau banyak tentang ketentuan tersebut, bisa dilihat dari info server (misal di XAMPP v.5) :

Buat skrip dengan nama apa saja, misal phpinfo.php kemudian masukan skrip berikut :

1
2
3

phpinfo();
?>

Lalu akses file phpinfo.php di direktori yang kamu letakkan. Misal di direktori C:\xampp\htdocs\php\phpinfo.php maka akses di browser http://localhost/php/phpinfo.php (tentu sebelumnya telah mengaktifkan Apache dan MySql di control panel milik xampp).

Maka akan muncul seperti berikut :

PHP 5 info

Variable Value

HTTP_USER_AGENT Opera/9.80 (Windows NT 5.1; U; en) Presto/2.2.15 Version/10.00
HTTP_HOST localhost
HTTP_ACCEPT text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
HTTP_ACCEPT_LANGUAGE id-ID,id;q=0.9,en;q=0.8
HTTP_ACCEPT_CHARSET iso-8859-1, utf-8, utf-16, *;q=0.1
HTTP_ACCEPT_ENCODING deflate, gzip, x-gzip, identity, *;q=0
HTTP_CONNECTION Keep-Alive, TE
HTTP_TE deflate, gzip, chunked, identity, trailers
PATH C:\Program Files\PC Connectivity Solution\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Common Files\Autodesk Shared\;C:\Program Files\Microsoft SQL Server\90\Tools\binn\
SystemRoot C:\WINDOWS
COMSPEC C:\WINDOWS\system32\cmd.exe
PATHEXT .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
WINDIR C:\WINDOWS
SERVER_SIGNATURE

Apache/2.2.9 (Win32) DAV/2 mod_ssl/2.2.9 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.6 Server at localhost Port 80

SERVER_SOFTWARE Apache/2.2.9 (Win32) DAV/2 mod_ssl/2.2.9 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.6
SERVER_NAME localhost
SERVER_ADDR 127.0.0.1
SERVER_PORT 80
REMOTE_ADDR 127.0.0.1
DOCUMENT_ROOT E:/xampp/htdocs
SERVER_ADMIN admin@localhost
SCRIPT_FILENAME E:/xampp/htdocs/PHP/phpinfo.php
REMOTE_PORT 1048
GATEWAY_INTERFACE CGI/1.1
SERVER_PROTOCOL HTTP/1.1
REQUEST_METHOD GET
QUERY_STRING no value
REQUEST_URI /php/phpinfo.php
SCRIPT_NAME /php/phpinfo.php

PHP Variables

Variable Value
_SERVER["HTTP_USER_AGENT"] Opera/9.80 (Windows NT 5.1; U; en) Presto/2.2.15 Version/10.00
_SERVER["HTTP_HOST"] localhost
_SERVER["HTTP_ACCEPT"] text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
_SERVER["HTTP_ACCEPT_LANGUAGE"] id-ID,id;q=0.9,en;q=0.8
_SERVER["HTTP_ACCEPT_CHARSET"] iso-8859-1, utf-8, utf-16, *;q=0.1
_SERVER["HTTP_ACCEPT_ENCODING"] deflate, gzip, x-gzip, identity, *;q=0
_SERVER["HTTP_CONNECTION"] Keep-Alive, TE
_SERVER["HTTP_TE"] deflate, gzip, chunked, identity, trailers
_SERVER["PATH"] C:\Program Files\PC Connectivity Solution\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Common Files\Autodesk Shared\;C:\Program Files\Microsoft SQL Server\90\Tools\binn\
_SERVER["SystemRoot"] C:\WINDOWS
_SERVER["COMSPEC"] C:\WINDOWS\system32\cmd.exe
_SERVER["PATHEXT"] .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
_SERVER["WINDIR"] C:\WINDOWS
_SERVER["SERVER_SIGNATURE"]

Apache/2.2.9 (Win32) DAV/2 mod_ssl/2.2.9 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.6 Server at localhost Port 80

_SERVER["SERVER_SOFTWARE"] Apache/2.2.9 (Win32) DAV/2 mod_ssl/2.2.9 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.6
_SERVER["SERVER_NAME"] localhost
_SERVER["SERVER_ADDR"] 127.0.0.1
_SERVER["SERVER_PORT"] 80
_SERVER["REMOTE_ADDR"] 127.0.0.1
_SERVER["DOCUMENT_ROOT"] E:/xampp/htdocs
_SERVER["SERVER_ADMIN"] admin@localhost
_SERVER["SCRIPT_FILENAME"] E:/xampp/htdocs/PHP/phpinfo.php
_SERVER["REMOTE_PORT"] 1048
_SERVER["GATEWAY_INTERFACE"] CGI/1.1
_SERVER["SERVER_PROTOCOL"] HTTP/1.1
_SERVER["REQUEST_METHOD"] GET
_SERVER["QUERY_STRING"] no value
_SERVER["REQUEST_URI"] /php/phpinfo.php
_SERVER["SCRIPT_NAME"] /php/phpinfo.php
_SERVER["PHP_SELF"] /php/phpinfo.php
_SERVER["REQUEST_TIME"] 1,25E+09
_SERVER["argv"] Array
(
)
_SERVER["argc"] 0
_ENV["ALLUSERSPROFILE"] C:\Documents and Settings\All Users
_ENV["APPDATA"] C:\Documents and Settings\Y o u r ‘ s\Application Data
_ENV["CLIENTNAME"] Console
_ENV["CommonProgramFiles"] C:\Program Files\Common Files
_ENV["COMPUTERNAME"] ARCHMAST-51E270
_ENV["ComSpec"] C:\WINDOWS\system32\cmd.exe
_ENV["FP_NO_HOST_CHECK"] NO
_ENV["HOMEDRIVE"] C:
_ENV["HOMEPATH"] \Documents and Settings\Y o u r ‘ s
_ENV["LOGONSERVER"] \\ARCHMAST-51E270
_ENV["NUMBER_OF_PROCESSORS"] 2
_ENV["OS"] Windows_NT
_ENV["Path"] C:\Program Files\PC Connectivity Solution\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Common Files\Autodesk Shared\;C:\Program Files\Microsoft SQL Server\90\Tools\binn\
_ENV["PATHEXT"] .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
_ENV["PROCESSOR_ARCHITECTURE"] x86
_ENV["PROCESSOR_IDENTIFIER"] x86 Family 6 Model 23 Stepping 10, GenuineIntel
_ENV["PROCESSOR_LEVEL"] 6
_ENV["PROCESSOR_REVISION"] 170a
_ENV["ProgramFiles"] C:\Program Files
_ENV["SESSIONNAME"] Console
_ENV["SystemDrive"] C:
_ENV["SystemRoot"] C:\WINDOWS
_ENV["TEMP"] C:\DOCUME~1\YOUR’S~1\LOCALS~1\Temp
_ENV["TMP"] C:\DOCUME~1\YOUR’S~1\LOCALS~1\Temp
_ENV["USERDOMAIN"] ARCHMAST-51E270
_ENV["USERNAME"] Y o u r ‘ s
_ENV["USERPROFILE"] C:\Documents and Settings\Y o u r ‘ s
_ENV["VS80COMNTOOLS"] C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\
_ENV["windir"] C:\WINDOWS
_ENV["AP_PARENT_PID"] 2560

_ENV [“”] diatas ditulis dengan awalan $, misal :

echo $_ENV[“username”] ;

Maka akan menghasilkan output username dari komputer Kamu.

Ehm.. ya..seperti itulah perbedaan yang baru ku ketahui. Bukan bayaknya syntax yang dihapal untuk diketahui, yang penting adalah logika dari perubahan tersebut, yaitu : definisikan dahulu lalu lanjutkan ! (Kayak SBY aja ‘Lanjutkan !’ :-D).


sumber : http://www.archmaster.co.cc/php/perbedaan-php4-dan-php5-studi-banding.html

Category: ,  
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response.
0 Responses