Rifqi Yanuar A. (26112362) Satrio Wibowo (26112882) Siti Anshila P. (27112044) Kelas : 1KB03
PHP
Pengertian PHP. PHP (PHP: Hypertext Proccesor) merupakan bahasa pemrograman web yang disisipkan dalam script HTML (Hypertext Markup Language) dan banyaknya sintak di dalamnya mirp dengan bahasa C, Java dan Perl. Tujuan dari bahasa ini adalah membantu para pengembang web untuk membuat web dinamis secara cepat. Sebagian besar sintak mirip dengan bahasaC, Java dan Perl, ditambah beberapa fungsi PHP yang spesifik. Tujuan utama penggunaan bahasa ini adalah untuk memungkinkan perancang web menulis halaman web dinamik dengan cepat. PHP banyak dipakai untuk memrogram situs web dinamis,walaupun tidak tertutup kemungkinan untuk digunakan untuk pemakaian lain. PHP sendiri merupakan bahasa turunan dari PERL Menurut netcraft.com, PHP telah digunakan oleh sekitar 34 Miliar website saat ini. PHP adalah sebuah bahasa Script server-side yang biasa digunakan dengan bahasa HTML atau dokumenya secara bersamaan untuk membuat sebuah aplikasi di web yang sangat banyak kegunaannya. PHP merupakan bahasa yang digunakan dalam HTML dan bekerja pada sisi server, artinya sintak dan perintah yang diberikan akan dijalankan diserver tetapi disertakan pada halaman HTML biasa sehingga script-nya tak tampak pada sisi client. HTML (Hyper Text Markup Language) adalah bahasa web yang sangat dominan menjadi bahasa penghubung antara(web server) dengan client-nya (web browser) diseluruh dunia. PHP adalah sebuah bahasa script server-side yang bisa digunakan dengan bahasa HTML atau dokumennya secara bersamaan untuk membangun sebuah aplikasi di web yang sangat banyak kegunaannya. PHP dirancang untuk dapat bekerja sama dengan database server dan dibuat sedemikian rupa sehingga pembuatan dokumen HTML yang dapat mengakses database menjadi begitu mudah. Tujuan dari bahasa scripting ini adalah untuk membuat aplikasi-aplikasi yang dijalankan diatas teknologi web browser, tetapi prosesnya secara keseluruhan dijalankan diatas web server. PHP memberikan solusi sangat murah (karena gratis digunakan) dan dapat berjalan di berbagai jenis platform. Pada awalnya memang PHP berjalan di sistwm UNIX dan variannya, namun kini dapat berjalan dengan lancar di lingkungan system operasi windows. Suatu nilai tambah yang luar biasa karena proses pengembangan program berbasis web dapat dilakukan lintas system operasi.
Hubungan PHP dengan HTML. Halaman web biasanya disusun dari kode-kode html yang disimpan dalam sebuah file berekstensi .html. File html ini dikirimkan oleh server (atau file) ke browser, kemudian browser menerjemahkan kode-kode tersebut sehingga menghasilkan suatu tampilan yang indah. Lain halnya dengan program php, program ini harus diterjemahkan oleh web-server sehingga menghasilkan kode html yang dikirim ke browser agar dapat ditampilkan. Program ini dapat berdiri sendiri ataupun disisipkan di antara kode-kode html sehingga dapat langsung ditampilkan bersama dengan kode-kode html tersebut. Program php dapat ditambahkan dengan mengapit program tersebut di antara tanda . Tanda-tanda tersebut biasanya disebut tanda untuk escaping (kabur) dari kode html. File html yang telah dibubuhi program php harus diganti ekstensi-nya menjadi .php3 atau .php. PHP merupakan bahasa pemograman web yang bersifat server-side HTML=embedded scripting, di mana script-nya menyatu dengan HTML dan berada si server. Artinya adalah sintaks dan perintah-perintah yang kita berikan akan sepenuhnya dijalankan di server tetapi disertakan HTML biasa. PHP dikenal sebgai bahasa scripting yang menyatu dengan tag HTML, dieksekusi di server dan digunakan untuk membuat halaman web yang dinamis seperti ASP (Active Server Pages) dan JSP (Java Server Pages).
Sejarah PHP Penemu bahasa pemrograman ini adalah Rasmus Lerdorf, yang bermula dari keinginan sederhana Ledorf untuk mempunyai alat bantu dalam memonitor pengunjung yang melihat situs web pribadinya. Inilah sebabnya pada awal pengembangannya, PHP merupakan singkatan dari Personal Home Page tools, sebelum akhirnya menjadi Hypertext Prepocessor. Pada awal tahun 1995 dirilis PHP/FI (Form Interpreter) yang memiliki kemampuan dasar membangun aplikasi web, memproses form dan mendukung data mySQL. Karena antusiasme pengguna internet yang begitu besar, ahirnya pada pertengahan tahun 1997 Rasmus Ledorf menyerahkan pengembanganya kepada sebuah tim pemrograman dalam kerangka open source dan oleh Zeev suraski dan Andi Gutmans, parsernya ditulis ulang kembali menjadi bentuk program parser baru yaitu PHP 3.0 yang memiliki dukungan lebih luas lagi terhadap database yang ada termasuk mySQL dan Oracle. PHP versi 4.0 kemudian dirilis setelah itu dengan menggunakan mesin scripting Zend (akronim dari pengembangnya Zeev suraski dan Andi Gutmas) dan telah mampu mendukung server apache dan secara built-in telah mampu menangani manajemen session. Ada dua macam PHP yang sekarang dikenal luas dikalangan web developmer yaitu PHP 3 dan PHP 4. PHP 3 adalah bahasa PHP yang pertama kali dibuat dan cocok untuk membuat website yang tidak terlalu komplek dan besar.sedangkan PHP 4 (versi-4) adalah bahasa PHP yang didalamnya sudah dilengkapi denganZend engine sehingga lebih cepat, kuat, stabil, mudah untuk berinteraksi dengan berbagai jenis aplikasi pendukung lainya seperti mySQL, java, FTP client, ODBC dll. PHP versi 4 memiliki ekstention yang lebih sederhana dan mudah dipergunakan serta kompatibel dengan PHP versi 3. PHP 4 sering dipakai untuk membangun web content karena dapat menangani website yang besar, kompleks dan menerima jutaan hit perhari. Pada tahun 1998 tepatnya pada tanggal 6 Juni 1998 keluarlah PHP versi 3.0 yang dikeluarkan oleh Rasmus sendiri bersama kelompok pengembang softwarenya.. Versi terbaru, yaitu PHP 4.0 keluar pada tanggal 22 Mei 2000 merupakan versi yang lebih lengkap lagi dibandingkan dengan versi sebelumnya. Perubahan yang paling mendasar pada PHP 4.0 adalah terintegrasinya Zend Engine yang dibuat oleh Zend Suraski dan Andi Gutmans yang merupakan penyempurnaan dari PHP scripting engine. Yang lainnya adalah build in HTTP session, tidak lagi menggunakan library tambahan seperti pada PHP. Pada juni 2004 Zend merilis PHP 5.0 Versi ini adalah versi mutakhir dari PHP.Dalam versi ini inti dari interpreter PHP mengalami perubahan besar. Dalam versi ini juga dikenalkan model pemrograman berorientasi objek baru untuk menjawab perkembangan bahasa pemrograman kearah pemrograman berorientasi objek.
Tujuan dari bahasa scripting ini adalah untuk membuat aplikasi-aplikasi yang dijalankan di atas teknologi web. Dalam hal ini, aplikasi pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan web server. Untuk dapat menjalankan script-script PHP, sebuah system harus mempunyai Apache Web server, PHP 4/PHP 5, dan database MySQL. Ketiganya adalah program open source yang tersedia secara gratis di internet dan dapat berjalan di berbagai platform (windows maupun UNIX/Linux).
Kelebihan PHP Ketika e-commerce semakin berkembang, situs-situs yang statispun semakin ditinggalkan, karena dianggap sudah tidak memenuhi keinginan pasar, padahal situs tersebut harus tetap dinamis. Pada saat ini bahasa PERL dan CGI sudah jauh ketinggalan jaman sehingga sebagian besar designer web banyak beralih ke bahasa server-side scripting yang lebih dinamis seperti PHP. Seluruh aplikasi berbasis web dapat dibuat dengan PHP. Namun kekuatan yang paling utama PHP adalah pada konektivitasnya dengan system database di dalam web. Dalam perkembangannya, aplikasi PHP memiliki berbagai macam kemudahan dan keunggulan dibandingkan dengan beberapa produk sejenis yang ada. Hal inilah yang menjadi alasan orang menggunakan PHP dalam pembuatan pemrograman web, berikut ini beberapa keunggulan yang dimiliki PHP :
1. PHP open source
PHP adalah aplikasi bahasa web yang bisa diperoleh secara gratis dan kode program PHP diberikan secara cuma-Cuma. Tabel 1.1 memperlihatkan perbandingan antara PHP dengan produk-produk sejenis : Tabel 1.1 Perbandingan biaya beberapa produk sejenis PHP
Jenis ASP ColdFusion JSP PHP Development $0-480 $395 $0 $0 Server $620 $1.295 $0-595 $0 RDBMS $1.220-$4.220 $0-$10.000 $0-10.000 $0 Support Incident $0-245 $0-75 $0-75 $0 2. PHP mudah
PHP mudah untuk dipelajari, dibandingkan dengan produk lain yang mempunyai fungsi yang sama. Tidak seperti Java Server Page atau C based CGI tidak membutuhkan persyaratan untuk mendalami beberapa bahasa pemrograman lain. Tidak juga seperti Perl yang sering disebut sebagai write-only-language, PHP mempunyai sintaks yang sangat mudah dan user-friendly. Dan tidak seperti Active Server Page, PHP tidak membuat kita untuk mempelajari dua bahasa pemrograman yang berbeda untuk dua kebutuhan. 3.PHP embedded Penulisan script PHP menyatu dengan HTML sehingga memudahkan pembuatannya. Dengan kata lain halaman PHP biasanya halaman HTML. Produk sejenis adalah Microsoft Active Server Page, Allaire Cold Fusion dan Sun JavaServer Page. PHP kadang-kadang disebut sebagai the open source ASP karena fungsinya mirip dengan produk Microsoft tersebut. Untuk membedakan antara sintaks HTML dan PHP maka dibuatlah kesepakatan : script PHP dimulai dengan tag <? Dan diakhiri dengan ?>. Contoh : <HTML> <HEAD> <TITLE>A greeting</TITLE> </HEAD> <BODY> <P>Hi, <?php /*sekarang beralih ke mode PHP*/ $firstname=Mata; $lastname=Hari; $title=Ms.; PRINT($title $lastname); //kembali ke HTML sekarang. ?>> May I call you <?php PRINT($firstname); ?>?</P> </BODY></HTML> Pada saat client meminta halaman ini, Web server memprosesnya. Berarti melalui halaman dari atas ke bawah, mencari section-section PHP, dimana akan dicoba untuk memecahkannya. Parser akan memeriksa seluruh variabel yang ditandai (dengan tanda $) dan mencoba menambahkannya ke perintah PHP (fungsi print()). Jika berjalan lancar, preprocessor akan kembali ke halaman HTML normal ke client browser. Jika ingin melihat kode sumber dari clientbrowser (pilih Source atau Page Source dari menu View atau klik kanan pada AOL), maka akan tampak seperti : <HTML> <HEAD><TITLE>A greeting</TITLE></HEAD> <BODY> <P>Hi, Ms. Hari. May I call you Mata ? </P> </BODY> </HTML> Kode diatas sama seperti jika kita menulis program HTML dengan tangan. HTML embedded dengan PHP membawa beberapa konsekuensi : PHP dapat dengan cepat ditambahkan ke kode yang dihasilkan oleh editor WYSIWYG. Setiap baris dari HTML tidak perlu dituliskan kembali ke dalam bahasa pemrograman.
4. PHP berjalan di banyak Platform
PHP yang menyatu dalam dokumen HTML bisa diakses oleh seluruh browser di seluruh platform yang ada. Dengan kata lain aplikasi yang dibangun dengan PHP berlaku secara universal. PHP dapat dijalankan di bawah sistem operasi UNIX dan Windows. Sebagian besar server HTTP berjalan pada satu dari dua kelas sistem operasi ini. PHP kompatibel dengan 3 Web Server teratas : Apache HTTP Server untuk UNIX dan Windows, Microsoft Internet Information Serverdan Netscape Enterprise Server (iPlanet Server). PHP juga bekerja pada beberapa Server yang kurang dikenal termasuk Alex Belitss fhttpd, Microsofts Personal Web Server, AOLServer dan Omnicentrixs Omniserver Application Server. PHP tidak didukung platform Macintosh. Ketersediaan kode sumber dalam bahasa C membuat PHP sangat universal dan mudah disesuaikan dengan platform yang digunakan sehingga tidak perlu keraguan untuk menginvestasikan waktu dan tenaga guna mengembangkan aplikasi PHP. Tabel 1.2 Sistem Operasi dan Web Server untuk PHP Variabel UNIX Windows Sistem Operasi AIX, A/UX, BSDI, Digital UNIX/Tru64, FreeBSD, HP- UX, IRIX, Linux, NetBSD, Openbsd, SCO, Unixware, Solaris, Sunos, Ultrix, Xenix Windows 95 Windows 98 Windows NT Windows 2000 Web Server Apache, fhttpd, Netscape IIS, PWS, Netscape, Apache, Omni Walaupun PHP tidak berjalan di Macintosh, BeOS atau beberapa paltform lain, kita dapat mengembangkan pada clientini menggunakan tool dan kemudian upload script PHP ke Server UNIX atau Windows. 5. PHP bukan berbasis Tag
PHP adalah murni bahasa pemrograman, di PHP kita dapat mendefinisikan fungsi-fungsi dengan menuliskan nama dan definisinya.
6. PHP stabil
Kata stabil berarti 2 hal yang berbeda : Server tidak memerlukan boot ulang. Software tdk berubah secara radikal & kompatibel dari release ke release. Keduanya ada pada PHP. Saat ini server Apache menjadi Web server paling stabil dengan reputasinya. Walaupun bukan merupakan yang paling cepat ataupun yang paling mudah, server Apache HTTP kelihatan tidak pernah crash. Dan juga tidak perlu boot ulang server setiap saat setting diubah (setidaknya di sisi UNIX). PHP mewarisi keadaan ini plus implementasinya yang kuat. Apache server dengan PHP melebihi IIS/Visual Studio dan Netscape Enterprise Server/Java untuk stabilitas lingkungannya. Tim pengembang PHP berusaha memperbaiki seperti menambahkan parser untuk dapat dijalankan lebih cepat, komunikasi dengan database lain atau menambahkan dukungan session yang lebih baik. Sangat sedikit fungsi yang dihapuskan dari versi PHP sebelumnya. 7. PHP cepat ( PHP meningkatkan kecepatan dari proses script ) PHP menyenangkan pada eksekusinya, terutama saat dikompile sebagai module Apache di sisi UNIX. Saat ini PHP 4 lebih cepat untuk hampir semua penggunaan CGI script. Walaupun beberapa script CGI ditulis dalam C, satu dari bahasa tingkat rendah dan paling cepat diantara banyak bahasa pemrograman. Dapat dibatasi jumlah prosesconcurrent yang dijalankan pada satu saat. Bahasa script CGI lain seperti Perl dan Tcl relatif lambat. Kebanyakan Website berkembang dari penggunaan CGI karena alasan kehandalan dan keamanan. Saat mengkompile, PHP menjadi bagian dari http daemon. Karena tidak ada transfer ke dan dari server aplikasi yang berbeda (seperti pada ColdFusion) permintaan dapat dipenuhi secara labih efisien. PHP setidaknya sama cepat dengan ASP pada banyak aplikasi. 8. PHP open source
Selain keuntungan dari segi biaya, software open source juga mempunyai konsekuensi bahwa source code yang lengkap dari software harus dimasukkan pada distribusinya. Tabel 1.3 Spektrum Source/Fee Fee Structure Closed Source Controlled Source Open Source Biaya untuk semua penggunaan Allaire ColdFusion - - Biaya untuk beberapa penggunaan Corel WordPerfect Sun Java MySQL Tidak ada biaya Microsoft IE Sun StarOffice GPLed Software 9. PHP berjalan baik dengan aplikasi lain PHP membuat mudah untuk berkomunikasi dengan program dan protokol lain.
Tim pengembangan PHP tampaknya sepakat untuk menyediakan fleksibilitas maksimum untuk sejumlah besar user. Konektivitas Database cukup kuat dengan dukungan native-driver untuk sekitar 15 database paling populer plus ODBC. PHP mendukung sejumlah besar protokol seperti POP3, IMAP dan LDAP. PHP 4 juga mempunyai dukungan baru untuk Java dan arsitektur pendistribusian objek (COM dan CORBA), membuat n-kali pengembangan untuk pertama kali. PHP tidak mendukungclosed-source. Sebagai contoh komputer Apple dan Microsoft tidak dapat bekerjasama dengan proyek open sourceseperti PHP.
10. PHP populer dan berkembang PHP menjadi satu dari pilihan paling populer untuk dua periode pengembangan (Web plus data).
Sejak website populer, PHP diharapkan mencapai pertumbuhan yang cepat pada sejumlah besar user. Walaupun agak lebih sulit untuk mendapatkan profil perusahaannya, PHP berada pada posisi yang relatif kuat untuk produk sejenis. Teknologi Microsoft Active Server Pages digunakan 12% oleh Web Server, ColdFusion diimplementasikan sekitar 4% domain. PHP digunakan oleh 12% dari seluruh Web Server seperti sudah dibuktikan oleh sebagian besar sample. ASP dan ColdFusion PHP mempunyai keuntungan yang lebih dibanding pesaingnya pada kategori pengembangan. 11. Masyarakat PHP PHP dikembangkan dan didukung secara bersama-sama oleh masyarakat pengguna worldwide. Keuntungan utama pemakai baru adalah dukungan teknik tanpa biaya dan tanpa batas. Orang- orang di mailing list bersedia untuk menjawab pertanyaan-pertanyaan dan adanya help debug Sebuah dukungan yang nyata bagi pemakai PHP. Masyarakat anggota PHP melihat pada program dan memberitahukan apa yang salah dan bahkan membantu mendesain sebuah aplikasi.
Cara Kerja PHP Seperti yang pernah disebutkan bahwa PHP adalah aplikasi di sisi server atau dengan kata lain beban kerja ada diserver bukan di client. Pada saat browser meminta dokumen PHP, web server langsung menggunakan modul PHP untuk mengolah dokumen tersebut. Jika pada dokumen terkandung fungsi yang mengakses database maka modul PHP menghubungi database server yang bersangkutan. Dokumen yang berformat PHP dikembalikan web server dalam format HTML, sehingga source code PHP tidak tampak disisi browser.
Sintaks Dasar PHP Ada empat macam cara penulisan kode PHP, yaitu: <? echo (iniadalahscript PHP\n); ?> <?phpecho(inijuga\n); ?> <script language=php> echo (tulis pake ini jika html editor Anda tidak mengenaliPHP); </script> <% echo (kalau yang ini mirip dengan ASP); %> Paling sering digunakan adalah cara pertama dan kedua. Perhatikan bahwa tiap akhir baris harus selalu diberi tanda titik koma(;). Untuk menambahkan baris komentar pada PHP caranya adalah dengan meletakkan komentar tersebut disebelah kanan tanda// jika komentar satu baris dan diantara/* dan*/ jika komentarnya lebih dari satu baris. <? echo (latihanPHP; //ini adalah contoh komentar satu baris /* kalau yang ini adalah komentar lebih dari satu baris*/ echo (memang mudah); ?>
TIPE DATA di PHP Dalam PHP, nama setiap variabel diawali dengan tanda $ (dollar). Misalnya variabel e maka ditulis dengan $e. PHP hanya mempunyai 6 tipe data yaitu : integer, double, boolean, string, array dan object. a. Integer adalah seluruh angka tanpa decimal point. b. Double adalah floating point seperti 3.14159 atau 49.0 c. Boolean hanya mempunyai 2 nilai yaitu TRUE dan FALSE d. String adalah urutan dari karakter seperti PHP mendukung operasi string e. Array adalah koleksi nama dan indeks. f. Object adalah contoh dari class yang didefinisikan programmer. Tipe variabel ini tidak perlu ditentukan oleh programmer, melainkan ditentukan pada saat runtime oleh PHP dengan kebergantungan pada konteks pemakaian variabel tersebut. Tipe data sederhana dalam PHP (integer, double, boolean dan string) sudah familiar. Beberapa bahasa pemrograman mempunyai ukuran yang berbeda untuk tipe data numerik dengan mengijinkan nilai range yang lebih besar tapi juga membutuhkan memory yang lebih besar. Sebagai contoh bahasa C mempunyai tipe short (small integer), tipe long (integer yang lebih besar) dan sebuah tipe int (merupakan pertengahan antara short dan long). a. Integer Adalah tipe data paling sederhana, dapat digunakan sebagai variabel atau digunakan dalam ekspresi seperti : $int_var =12345; $another_int =-12345 +12345; Integer dapat dibaca dalam 3 format sesuai dengan bilangan berbasis; decimal (basis 10), octal (basis 8) dan hexa(basis 16). Format desimal sebagai default, octal dispesifikasikan dengan diawali 0 dan hexa diawali 0x. Format tersebut dapat didahului tanda - untuk integer negative. $integer_10 =1000; $integer_8 = 01000; $integer_16 =01000; print(integer_10 : $integer_10<BR>); print(integer_8 : $integer_8<BR>); print(integer_16 : $integer_16<BR>);
Akan menghasilkan output : I nteger_10 : 1000 I nteger_8 : -512 I nteger_16 : 4096 Integer PHP sama dengan type long pada C, tergantung pada ukuran word dari mesin komputer, maka sulit untuk menjawab secara tepat range untuk tipe ini. Pada sebagian besar platform rangenya adalah : 231 1 atau (2.147.483.647) s/d (231 1) atau (-2.147.483.647) b. Double Adalah floating point seperti : $first_double =123.456; $second_double =0.456; $even_double =2.0; Integer dan double disimpan dalam format yang berbeda dan hasil dari ekspresi : $five =$even_double +3; Akan menjadi double, bukan integer, walaupun tercetak 5. Sebagai default double tercetak dengan sejumlah minimum tempat yg dibutuhkan, contoh $many =2.2888800; $many_2 =2.2111200; $few =$many +$many_2; print ($many + $many_2 = $few<BR>); Akan menghasilkan output : 2.28888 +2.21112 =4.5 Format double adalah X.Y dimana dispesifikasikan optional sebagai negative dan X serta Y sebagai digit antara 0-9 $small_positive =0.12345; $small_negative =-.12345; $even_double =2.00000; $still_doube =2; Double dispesifikasikan dalam notasi scientific dengan menambahkan huruf e, sebagai contoh 2.2e-3 akan sama dengan 2.2_10-3. $small_positive =5.5e-3; print(small_positive is $small_positive<BR>); $large_positive =2.8e+16; print(large_positive is $large_positive<BR>); $small_negative =-2222e-10; print(small_ negative is $small_ negative <BR>); $large_negative =-0.00189e6; print(large_negative is $ large_negative <BR>); Akan menghasilkan output : small_positive is 0.0055 large_positive is 2.8E+16 small_negative is 2.222E-07 large_negative is 1890 c. Boolean Adalah nilai true atau false, digunakan sebagai kontrol seperti untuk test sebuah statement if. Nilai truth boolean dapat dikombinasikan menggunakan operator logika untuk membuat lebih lengkap ekspresi boolean. PHP menyediakan sepasang konstanta khususnya untuk digunakan sebagai Boolean : TRUE dan FALSE. Aturan untuk menentukan truth dari nilai yang tidak ada pada tipe boolean: 1.Jika nilai adalah angka, false jika sama dengan nol dan selain itu true 2.Jika nilai adalah string, false jika string mengandung karakter kosong atau string 0 selain itu true 3.Jika nilai adalah gabungan tipe data (array atau object) false jika tidak berisi nilai selain itu true Contoh : Masing-masing variabel berikut akan mempunyai nilai Truth yang embedded dalam namanya, digunakan dalam konteks boolean $true_num =3 +0.14159; $true_str = tried and true $true_array[49] = an array element; $false_num =999 999; $false_str = ; // karakter string kosong
d. String Adalah kumpulan karakter, seperti dibawah : $string_1 = This is a string in double quotes; $string_2 = This is a somewhat longer, singly quoted string; $string_39 = This is a string has thirty-nine characters; $string_0 = ; //This is a string with zero characters String dapat ditutup dalam tanda petik tunggal maupun petik ganda. Petik tunggal seperti literalnya sedang petik ganda menggantikan variabel dengan nilainya seperti menginterpretasikan karakter khusus. $literally = My $variable will not print!\n; print($litrerally); $win_path = C:\\I netPub\\PHP\\; print(A windows-style pathname: $win_path<BR>); Akan menghasilkan output : My $variable will not print!\n A windows-style pathname: C:\\I netPub\PHP\ Untuk menempelkan petik tunggal (seperti apostrophe) dalam petik tunggal, beri tanda backslash : $singly_quoted = This quote mark\s no big deal either; String yang dibatasi dengan petik ganda diproses dalam 2 cara : 1.Karakter tertentu yang dimulai dengan backslash (\) diganti dengan karakter khusus 2.Nama variabal (dimulai dengan $) diganti dengan string yang merepresentasikan nilainya. kirim.php </html> <form action=kosong.php method=post> Nama: <input><br>// terbentuk variabel $nama <input value=Kirim> </form> </html> kosong.php <html> <body> <? echo $nama; ?> </body> </html>
Untuk menginisialisasi suatu variabel dalam PHP, secara sederhana berikan suatu nilai pada variabelnya. Tapi untuk tipe seperti array dan objek membutuhkan mekanisme yang berbeda $nama = Hendra; $berat =57.5; $umur =17; e. Array Tipe array pada PHP memudahkan programmer cara untuk mengelompokkan nilai-nilai yang berbeda dan mengindeksnya dengan numerik (dan juga dengan nama). Elemen array dituliskan dengan indeks dalam tanda kurung (the[1], [2],[3]..) dan elemn dari tipe yang berbeda dapat ditunjuk dengan array yang sama. print(my_array is $my_array<BR>); print(my_array[0] is $my_array[0]<BR>); print(my_array[5] is $my_array[5]<BR>); $my_array[5] = Slot #6; print(my_array is $my_array<BR>); print(my_array[0] is $my_array[0]<BR>); print(my_array[5] is $my_array[5]<BR>); Akan menghasilkan output : my_array is my_array[0] is my_array[5] is my_array is Array my_array[0] is my_array[5] is Slot #6 Array adalah satu dari feature yang paling berguna di PHP dan walaupun kelihatan seolah-olah seperti array dalam bahasa pemrograman lain, implementasi sangat berbeda. Dalam banyak bahasa pemrograman , kita mendeklasikan array dengan statement seperti : Int int_array[10]; //NOT PHP! Men-set blok sampai variabel integer 10 dalam memori yang dapat diakses dengan indeks int_array antara 0 9. Sejauh ini hanya integer yang digunakan sebagai indeks, sebenarnya nilai string juga dapat digunakan sebagai indeks array. Indeks string digunakan dgn cara yg sama seperti indeks numerik, seperti: $tasty[Spanish] = paella; $tasty[Japanese] = sashimi; $tasty[Scottish] = haggis?;
Menginisialisasi Array Array dapat diinisialisasi dengan dua cara yaitu dengan pemberian nilai langsung dan menggunakan konstruksi array(). Untuk memberikan nilai secara langsung pada suatu array, secara sederhana adalah memberikan nilai ke variabel array dengan subscript kosong. Nilai tersebut akan ditambahkan sebagai elemen terakhir dari array. Sesuatu yang perlu diingat adalah elemen array dimulai dari index 0 (bukan 1) $nama[ ] = Aden; //$name[0] = Aden $nama[ ] = Marsa; //$nama[1] = Marsa; Contoh Array: array.php <html><h1>Membuat array cara pertama</h1><? $a[0] = abc; // a adalah array skalar $a[1] = def; $b[foo] = 13; //b adalah array asosiatif echo Nilai a[0]=$a[0], nilai a[1]=$a[1], <br> nilai b[\foo\]= . $b[foo]; ?><h1>Cara kedua</h1><? $a[ ] = hello; // $a[2] = = hello $a[ ] = world // $a[3] = = world echo Nilai a[2]=$a[2], Nilai a[3]=$a[3]; ?></html> multiarray.php <html><? $f=101 $a[1] =$f; #contoh satu dimensi $a[foo] = $f; $b[1][0] =$f; #dua dimensi $b[foo][2] = $f; $b[3][bar] = $f; $c[foo][4][bar][0] = $f; #empat dimensi echo a[1] = $a[1] dan a[\foo\]= . $a[foo]; echo b[1][0] = . $b[1][0] . dan b[\foo\][2]= . $b[foo][2];
f. Object Object adalah sebuah tipe data yang dapat berupa sebuah bilangan, variabel atau bahkan sebuah fungsi. Objectdibuat dengan tujuan untuk membantu programmer yang terbiasa dengan Object Oriented Programming, meski fasilitas OOP yang disediakan oleh PHP masih sangat kurang. Berikut sebuah contoh penggunaan tipe data object. <? // object.php class Test { var $str = Variabel Class; function set_var($str) {$this->str =$str; } } $class =new Test; echo$class->str; $class->set_var (Variabel Object); echo(<br>$class->str); ?> Dalam program object.php terdapat sebuah class dengan nama test, kemudian dibuat sebuah data object test dari class test, data ini dicetak dan keluarannya adalah Variabel Class. Class test juga mempunyai mebuah method dengan nama set_var, method ini digunakan untuk memberi nilai pada variabel $str. Data object test yang dibuat atauinstance dari class test akan mempunyai semua properties dari class test, termasuk method-method-nya, sehingga sebuah data bertipe object juga dapat mengandung sebuah method (fungsi). Pada program di atas method set_var pada object test kita pakai untuk mengubah nilai variabel $str menjadi Variabel Object kemudian mencetaknya. Menginisialisasi Objek Untuk menginisialisasi suatu object, dapat menggunakan perintah new. Perintah ini digunakan untuk menginisialisasi suatu objek kepada suatu variabel. Class kosong { Function tidak() { Echo tidak melakukan apa-apa; } } $bar =new kosong; $var ->tidak();
Variabel Pada PHP 1. Jangkauan Variabel Jangkauan suatu variabel adalah tergantung pada dimana variabel tersebut didefinisikan. Pada umumnya semua varibel PHP hanya memiliki suatu jangkauan. Setiap variable yang digunakan dalam suatu fungsi, maka secara defaultjangkauannya adalah lokal. Sebagai contoh : $a =1; /*jangkauan global*/ Function coba() { Echo $a; /*mengacu pada variabel jangkauan lokal*/ } coba(); Script diatas tidak mengeluarkan apapun, karena $a dalam fungsi Coba mengacu pada $a lokal yang mana tidak memiliki nilai apapun. Hal ini berbeda dengan bahasa C yang mana setiap variabel global menjadi nampak bagi semua fungsi, kecuali didefinisikan sebagai lokal. Dalam PHP, variabel global harus dideklarasikan sebagai global di dalam suatu fungsi jika mereka akan digunakan dalam fungsi tersebut. Contoh : $a =1; $b =2; Function hitung() { Global $a, $b; $b =$a +$b; } hitung(); echo $b; Script diatas akan menghasilkan keluaran 3. Dengan mendeklarasikan $a dan $b sebagai global di dalam fungsi. Cara kedua untuk mengakses variabel sebagai acuan global adalah dengan menggunakan definisi $GLOBAL. Contoh sebelumnya dapat juga ditulis menjadi : $a =1; $b =2; Function hitung() { $GLOBALS[b] = $GLOBALS[a] + $GLOBALS[b]; } hitung(); echo $b; $GLOBALS array adalah suatu asosiasi array dengan key adalah nama dari variabel global. Hal lain yang penting dari jangkauan adalah variabel static. Suatu variabel hanya ada pada jangkauan lokal fungsi, dan nilainya akan tetap dipertahankan. Function coba() { $a =0; echo $a; $a++; } Pada fungsi diatas nilai $a kembali menjadi 0 utnuk setiap pemanggilan. Artinya nilai $a akan hilang begitu program keluar dari fungsi. Contoh berikut menggunakan variabel static. Setiap kali fungsi coba() dipanggil maka nilai $a pada pemanggilan sebelumnya. Function coba() { Static $a =0; echo $a; $a++; }
2. Variabel-Variabel Kadang-kadang lebih nyaman menggunakan variabel-variabel; yang mana adalah nama variabel yang dapat digunakan secara dinamis. Secara normalnya variabel dibuat dengan : $a = hello; // normal -> terbentuk variabel $a berisi hello Suatu variabel variabel akan menggunakan nilai dari suatu variabel menjadi nama variabel, contoh : $a = hello; // normal -> terbentuk variabel $a berisi hello $$a = world; // variabel-variabel -> terbentuk variabel $hello berisi world Pada contoh diatas akan terbentuk dua variabel yaitu $a dan $hello. Dimana $a berisi hello dan $hello berisi world. Selanjutnya perintah berikut ini Echo $a ${$a}; // menghasilkan hello world Echo $a $hello; // menghasilkan hello world 3. Penentuan Tipe Variabel Penentuan tidak membutuhkan deklarasi variabel secara eksplisit, tipe variabel ditentukan berdasarkan konteks pemakaiannya pada saat runtime. Dengan kata lain, jika memberi nilai string ke suatu variabel var, var menjadi suatu variabel tipe string. Jika memberi nilai integer ke var, maka otomatis berubah menjadi tipe integer. Suatu contoh dari otomatisasi konversi tipe pada PHP adalah operator penjumlahan +. Jika salah satu operandnya adalah tipe double, maka semua operand lainnya dievaluasi sebagai double dan hasilnya adalah double $coba = 0; //$coba adalah string (ASCII 48) $coba++; //$coba adalah string 1 (ASCII 49) $coba +=1; //$coba sekarang adalah integer (2) $coba =$coba +1.3; //$coba sekarang adalah double (3.3) $coba = 5 + 10 kotak; //$coba adalah integer (15)
4. Mengetahui Tipe suatu Variabel Karena PHP menentukan tipe variabel sesuai dengan konteks pemakaiannya, maka dapat digunakan fungsi berikut untuk memeriksa tipe pada suatu variabel gettype(), is_long(), is_double(), is_string(), is_array() dan is_object. Variabel.php <h1>integer</h1> <? $a =1234; #angka decimal $b =-123; #angka negatif $c =0123; #angka oktal decimal (sama dengan 83 decimal) $d =012; #angka hexa decimal (sama dengan 18 decimal) echo Nilai a=$a, nilai b=$b, nilai c(decimal)=$c, <br> Nilai d(decimal)=$d <br>; ?> <h1>floating point</h1> <? $a =1.234; $b =1.2e3; echo Nilai a=$a, nilai b=$b <br>; ?> Jika string diapit oleh tanda kutip ganda (..), maka variabel yang ada di dalam apitan itu akan di ekspand, artinya isi variabel itu akan dikeluarkan. Contohnya adalah pada baris yang mengandung fungsi echo( ) pada latihan sebelumnya. Tabel 4.1 Karakter-karakter khusus dalam PHP3 (escape character) Sequence Arti Sequence Arti \n Newline (garis baru) \\ Backslash \r Carriage \$ Double quote \t Horizontal tab \ Tanda dollar 5. Tipe Casting Tipe casting dalam PHP bekerja seperti dalam C, nama dari tipe yang di inginkan di tulis di dalam kurung sebelum variabel yang akan di cast. $coba =10; //$coba adalah suatu integer $bar =(double) $coba //$bar adalah suatu double Cast yang diperbolehkan : (int), (integer) cast ke integer (real), (double), (float) cast ke double (string) cast ke string (array) cast ke array (object) cast ke object 6. Expression Expression adalah segala sesuatu yang memiliki harga. Misalnya konstanta dan variabel. Saat mengetik $a=5, kita mengisikan angka 5 ke dalam $a. Sesungguhnya 5 memiliki nilai 5, atau dengan kata lain 5 adalah sebuah ekspresi dengan nilai 5 (dalam hal ini, 5 adalah konstanta integer). Setelah assigment ini, harga $a akan menjadi 5 juga sehingga jika Anda tuliskan $b=$a, efeknya akan sama jika ditulis $b = 5. Dengan kata lain, $a adalah sebuah ekspresi dengan nilai 5 juga. Contoh expression yang lebih kompleks adalah function. Misalnya, perhatikan contoh dibawah ini : Function foo ( ) { return 5; } Menuliskan $c = foo ( ) sesungguhnya sama dengan menuliskan $c = 5, karena function adalah ekspresi dengan nilai sesuatu yang dikeluarkannya (return value ). Karena foo ( ) mengeluarkan 5, nilai dari ekspresi foo ( ) adalah 5. Namun biasanya function tidaklah mengeluarkan sesuatu yang statis seperti itu, melainkan sesuatu yang telah dihitung sebelumnya. Suatu PHP script terdiri dari sejumlah perintah yang berurutan. Suatu perintah dapat berupa pemberi nilai, pemanggilan terhadap fungsi, perulangan, perintah kondisi dan baris kosong, Setiap perintah diakhiri dengan sebuah titik koma (;). Dan beberapa perintah dapat dikelompokkan menjadi satu dalam kurung kurawal { dan }. Catatan : setiap perintah diakhiri dengan sebuah titik koma (;).
Kontrol pada PHP 1. Konstanta PHP memiliki sejumlah konstanta yang telah didefinisikan dan diberi kesempatan untuk membuat konstanta sesuai dengan kebutuhan. Konstanta yang telah didefinisikan adalah _FILE_ (nama file yang sedang diproses) _LINE_ (nomor baris dari file yang sedang diproses) Contoh : <?php function report_error($file, $line, $message) { echo Suatu kesalahan terjadi pada file $file bari $line: $message.; } report_error(_FILE_,_LINE_,Telah terjadi suatu kesalahan!); ?> Konstanta ciptaan dapat didefinisikan dengan menggunakan fungsi define(). Contoh : <?php define(CONSTANT,Hello world.); echo CONSTANT; //akan mencetak Hello world. ?>
2. Ekspresi Hampir semua yang ditulis dalam PHP script adalah script. Definisi yang paling mudah dari ekspresi adalah segala sesuatu yang memiliki nilai. Contoh yang paling sederhana dari ekspresi adalah konstanta dan variabel. Ketika mengetik $a=5 maka artinya memberikan nilai 5 ke $a. Contoh yang lebih kompleks untuk suatu ekspresi adalah fungsi. Untuk ebih jelasnya perhatikan contoh dibawah ini : Function hello () {Return 5; } Maka kala ditulis $c = hello() adalah sama dengan memberikan nilai 5 ke variabel $c, karena fungsi hello mengembalikan 5. Diatas adalah contoh fungsi yang sederhana. PHP mendukung 3 tipe nilai skalar yaitu : nilai integer,floating point dan string. (Nilai skalar adalah nilai yang tidak dapat dibagi menjadi bagian yang lebih kecil, seperti array). PHP juga mendukung 2 tipe nilai bukan skalar yaitu array dan objek. 3. Percabangan a. If Perintah If adalah sesuatu yang paling penting pada bahasa pemrograman umumnya. Perintah If PHP menyerupai bentuk If pada bahasa C. If (ekspresi) Perintah Ekspresi adalah sesuatu yang dapat dievaluasi menjadi nilai TRUE atauFALSE. Berikut ini adalah contoh yang akan mencetak a lebih besar dari b jika nilai $a lebih besar dari $b. If ($a >$b) Print a lebih besar dari b; Jika perintah yang akan dijalankan ketika ekspresi TRUE lebih dari satu maka perintah-perintah tersebut perlu dikelompokkan dengan kurung kurawal { dan } dapat juga dibentuk if yang bersangkar (if dalam if) If ($a >$b) { Print a lebih besar dari b; $b =$a; } b. Else Sering kita perlu menjalankan perintah lain kalau nilai ekspresi adalah FALSE. Untuk keperluan tersebut dapat digunakan perintah Else. If ($a >$b) { Print a lebih besar dari b; }else { Print a tidak lebih besar dari b; } c. Elseif Elseif adalah kombinasi dari suatu if dan else, dapat digunakan pada suatu pilihan multi kondisi. If ($a >$b) { Print a lebih besar dari b; }elseif ( $a==$b) { Print a sama dengan b; }else { Print a lebih kecil dari b; } d. SWITCH Perintah SWITCH menyerupai sejumlah perintah IF dengan ekspresi yang sama. Sering kali kita ingin membandingkan sejumlah variabel (atau ekspresi) dengan sejumlah nilai dan menjalankan perintah tertentu untuk masing-masing nilai. Contoh1.php /* contoh 1 */ if ($I ==0) {print I sama dengan 0; } if ($I ==1) { print I sama dengan 1; } if ($I ==2) { print I sama dengan 2; } Perintah SWITCH dieksekusi secara baris per baris (aktualnya perintah per perintah). Pada awalnya tidak ada kode yang dijalankan. Hanya sesaat ketika suatu perintah CASE ditemukan dengan nilai yang sesuai dengan nilai ekspresi pada SWITCH, PHP menjalankan perintah. PHP melanjutkan eksekusi sampai akhir dari blok SWITCH atau pertama kali menemukan suatu perintah BREAK. Jika tidak menulis suatu perintah BREAK pada akhir dari daftar perintah pada suatu case, PHP akan melanjutkan eksekusi untuk case selanjutnya. Contoh2.php /* contoh 2 */ switch ($I) { case 0; print I sama dengan 0; case 1; print I sama dengan 1; case 2; print I sama dengan 2; } Disini jika $I sama dengan 0, PHP akan mengeksekusikan seluruh perintah print !. Jika $I sama dengan 1, PHP akan mengeksekusikan dua perintah print terakhir, jika dan hanya jika $I sama dengan 2 tercetak I sama dengan 2. Jadi adalah sangat penting untuk tidak melupakan perintah BREAK. Suatu case yang khusus adalah case default. Case ini akan sama dengan segala sesuatu yang tidak dapat disamakan dengan case case sebelumnya. 4. Perulangan a. While While adalah perulangan yang paling sederhana pada PHP. Bentuk dasar dari perintah While adalah : WHILE(ekspresi) statement Statement akan diulang selama ekspresi memiliki nilai TRUE. Jika pada perulangan ternyata ekspresi bernilai FALSEmaka perulangan tidak pernah dilakukan. Jika perintah yang akan diulang lebih dari satu maka perintah-perintah tersebut dapat dikelompokkan dengan mengetiknya diantara kurung kurawal { dan } atau menggunakan tata cara penulisan alternatif : WHILE(ekspresi) : statement ENDWHILE; Berikut ini adalah 2 contoh yang identik yang akan mencetak nilai 1 s/d 10 : Contoh3.php : /*contoh */ $I =1; while ($I <=10) { print $I++; /*nilai yg dicetak adl nilai $I sebelum ditambah 1 (post-increment)*/ } Contoh 4.php /*contoh */ $I =1; while ($I <=10): print $I; $I++; endwhile;
b. Do While Perulangan DOWHILE adalah sama saja dengan perulangan While, hanya ekspresi diperiksa pada akhir dari perulangan. Jadi perulangan jenis ini minimal terjadi satu kali. Tata cara penulisan untuk perulangan DOWHILE : $I =0; do {print $I; } while ($I>0);
c. FOR Perulangan FOR adalah perulangan yang paling kompleks dalam PHP, dan menyerupai perulangan FOR pada bahasa C. Tata cara penulisan untuk perulangan FOR : FOR (ekspresi1; ekspresi2; ekspresi3) statement Ekspresi pertama (ekspresi1) dievaluasi (dieksekusi) secara un-kondisional pada awal perulangan. Pada awal dari tiap iterasi, ekspresi2 akan dievaluasi. Jika hasil evaluasi adalah TRUE maka perulangan akan diteruskan dan statement akan dieksekusi. Jika hasil evaluasi FALSE maka perulangan diakhiri. Pada akhir dari tiap iterasi, ekspresi3 akan dievaluasi (dieksekusi). Contoh berikut akan mencetak angka 1 s/d 10 : Contoh5.php For ($I =1; $I <=10; $I++) {Print $I; } Contoh6.php For ($I =1;; $I++) { If ($I >10) {Break; } Print $I; } Contoh7.php $I =1; For (;;) { If ($I >10) {Break; } Print $I; $I++; } Contoh8.php For ($I =1; $I <=10; print $I, $I++); d. BREAK BREAK keluar dari perulangan yang sekarang : $I =0; while($I <10) { if ($arr[$I] == berhenti) { break; } $I++; }
e. CONTINUE CONTINUE akan meloncat ke awal perulangan yang sekarang while(list($key,$value) =each($arr)) { if ($key % 2) {//loncati anggota genap continue; } KerjakanYangGanjil($value); }
REQUIRE Perintah REQUIRE menganti perintah tersebut dengan file tertentu dan hampir menyerupai processor #include pada bahasa C. Hal ini berarti anda tidak dapat meletakkan perintah required() dalam suatu struktur perulangan dan mengharapkannya untuk mengikutsertakan file yang berbeda pada tiap iterasi. Untuk melakukan hal tersebut harus menggunakan perintah INCLUDE. Require (header.inc);
INCLUDE Perintah INCLUDE akan mengikutsertakan dan mengevaluasi file tertentu. Hal ini terjadi setiap kali perintah INCLUDEditemukan, jadi dapat digunakan perintah INCLUDE diantara suatu struktur perulangan untuk mengikutsertakan sejumlah file yang berbeda. $files = array (first.inc,second.inc,third.inc); for ($I =0; $I <count($files); $I++) { include($files[$I]); } Include() berbeda dengan require(). Pada perintah include evaluasi dilakukan kembali setiap kali perintah tersebut ditemukan (dan hanya ketika hal tersebut dijalankan), sedangkan perintah require() akan diganti dengan file yang diperlukan ketika pertama kali ditemukan, terserah apakah file tersebut akan dievaluasi atau tidak. Karena INCLUDEadalah suatu konstruksi bahasa khusus maka harus diapit diantara blok. /* Yang ini SALAH dan tidak akan bekerja sesuai dengan yg diharapkan */ if ($conditon) include($file); else include($other); /* Yang ini BENAR */ if ($condition) {include($file); } else {include($other); }
Operator pada PHP 1. Operator Aritmatika Tabel Operator Aritmatika Operator pembagian (/) mengembalikan suatu nilai bulat (hasil dari suatu pembagian bulat) jika kedua operan adalah integer (atau string yang dikonversi ke integer). Jika salah satu operan adalah nilai floating-point value, pembagian floating point dilakukan. 2. Operator String Hanya ada satu operator string, yaitu operator concatenation (.). $a = Hello ; $b = $a . World! ; // now $b = Hello World! Operator Assignment (Pemberi Nilai) Operator assignment adalah =. Artinya adalah operan yang di kiri diisi dengan nilai dari ekspresi di sebelah kanan. Nilai dari ekspresi assignment adalah nilai yang ditentukan . Akibatnya, nilai dari $a = 3 adalah 3. Dengan demikian hal dibawah ini menjadi benar adanya : $a =($b=4) +5; // $a sekarang berisi 9, dan $b berisi 4.
3. Operator Bitwise Operator Bitwise dapat digunakan untuk membuat bit tertentu dari integer menjadi on (1) atau off (0). Tabel Operator Bitwise Contoh Nama Hasil $a + $b Penjumlahan Jumlah dari $a dan $b $a $b Pengurangan Sisa dari pengurangan $a dengan $b $a * $b Perkalian Perkalian dari $a dengan $b $a / $b Pembagian Hasil bagi $a dibagi dengan $b $a % $b Modulus Sisa hasil bagi $a dibagi dengan $b Contoh Nama Hasil $a & $b And Bit yang bernilai 1 pada $a dan $b akan di-set 1. $a | $b Or Bit yang bernilai 1 pada $a atau $b akan di-set 1. $a ^ $b Xor Bit yang bernilai 1 pada $a atau $b tetapi tidak pada keduanya akan diset 1. ~ $a Not Bit yang bernilai 1 pada $a akan diset 0, dan sebaliknya. $a << $b Shift left Geser bit $a sebanyak $b langkah kekiri (setiap langkah berarti kalikan dengan dua). $a >> $b Shift right Geser bit $a sebanyak $b langkah kekanan ( setiap langkah berarti dibagikan dengan dua). 4. Operator Logika Tabel Operator Logika Contoh Nama Hasil $a and $b And Benar jika $a dan $b adalah benar. $a or $b Or Benar jika salah satu $a atau $b adalah benar. $a xor Xor Benar jika salah satu $a atau $b adalah benar, tetapi tidak keduanya. !$a Not Benar jika $a tidak benar. $a && $b And Benar jika $a dan $b adalah benar. $a || $b Or Benar jika salah satu $a atau $b benar. 5. Operator Perbandingan Operator perbandingan memperbolehkan untuk membandingkan dua nilai Tabel Operator Perbandingan Contoh Nama Hasil $a == $b Sama dengan Benar jika $a sama dengan $b. $a != $b Tidak sama dengan Benar jika $a tidak sama dengan $b $a < $b Kurang dari Benar jika $a lebih kecil $b $a > $b Lebih dari Benar jika $a lebih besar dari $b. $a <= $b Kurang dari atau sama dengan Benar jika $a lebih kecil atau sama dengan $b. $a >= $b Lebih dari atau sama dengan Benar jika $a lebih besar atau sama dengan $b. 6. Urutan Operator Urutan operator menentukan bagaimana suatu ekspresi dikerjakan oleh PHP. Contohnya, pada 1 + 5 * 3, jawabannya adalah 16 dan bukan 18 karena perkalian operator (*) memiliki urutan yang lebih tinggi untuk dikerjakan terlebih dahulu daripada operator penjumlahan (+). Tabel Urutan Operator
Associativity Operator Left , Left Or Left Xor Left And Right Print Left =+=-=*=/=.=%=&=!=~=<<=>>= Left ?: Left || Associativity Operator Left && Left | Left ^ Left & Non-associative == != Non-associative <<=>>= Left <<>> Left +-. Left */ % Right !~++(int) (double) (string) (array) (object) @ Right [ Non-associative New
Menangani Variabel Form, Cookies dan Environment 1. Variabel pada Form Pada pemrograman CGI, program kita akan berinteraksi dengan variabel-variabel dari luar yang dikirm melalui form baik dengan metode Get maupun metode POST. Ketika suatu form dikirm ke suatu PHP script, semua varaibel dari form secara otomatis dapat diproses oleh script PHP sebagaimana variabel biasanya. Sebagai contoh : <form action = kosong.php method=post> Nama : input type = text name=nama><br> <input type=submit value=Kirm> </form> Nama : Kirim Ketika form disubmit, maka PHP akan membuat variabel $nama, yang mana mengandung apa yang diketikkan pada field Nama : di form tersebut. PHP juga mendukung variabel array dalam konteks form, tapi dibatasi hanya 1 dimensi, Contoh : <form action=array.html method=post> Nama : <input type = text name=personal[nama]><br> Email : <input type = text name=personal[email]><br> Beer : <br> <select multiple name=beer[]> <option value=warthog>Warthog <option value=guinness>Guinness </select> <input type=submit> </form> Nama : Email : Beer : Warthog Submit Query 2. Variabel pada IMAGE SUBMIT Ketika mengirim suatu form, juga dimungkinkan untuk menggunakan suatu gambar sebagai pengganti tombol submit dengan tag HTML berikut : <input type name src=image.gif name=sub> Ketika pemakai melakukan klik pada gambar tersebut, maka form akan dikirim ke CGI dengan 2 variabel tambahan yaitu sub_x dan sub_y. Kedua variabel ini adalah koordinat dimana klik dilakukan pada gambar. 3. Variabel pada HTTP Cookies PHP secara transparan mendukung HTTP Cookies. Cookies adalah suatu mekanisme penyimpanan data secara remote pada browser klien. Hal ini dapat digunakan untuk mengidentifikasikan pemakai pada kunjungan berikutnya. Kita dapat menggunakan fungsi SetCookie(). Cookie adalah bagian dari HTTP header, jadi fungsi SetCookie harus dipanggil sebelum output lainnya dikirim ke browser. Hal ini adalah sama batasannya untuk fungsi Header(). SemuaCookies yang dikirim pada kita dari klien akan secara otomatis diubah ke dalam suatu variabel PHP seperti methodGET dan POST data. Jika ingin memberikan banyak nilai pada suatu Cookie tunggal, tambahkan saja [ ] pada nama Cookie. Sebagai contoh : SetCookie (MyCookie[ ], Testing, time() + 360); Catatan : bahwa suatu cookie akan menimpa cookie sebelumnya yang memiliki nama yang sama dalam browser, kecuali path atau domainnya berbeda. Jadi Untuk suatu aplikasi shopping cart perlu menyimpan suatu counter dan mengirimnya bersamaan. Contoh : $count++; SetCookie (Count, $Count, time() + 3600); SetCookie (Csrt [$Count], $item, time() + 3600); 4. Variabel Environment PHP secara otomatis membuat variabel lingkungan normalnya seperti variabel PHP. Echo $HOME; /* Menampilkan variabel environment, jika set. */ Sejak informasi datang dengan GET, POST dan mekanisme Cookies secara otomatis menjadi variabel HP, adalah lebih baik membaca variabel langsung dari lingkungan untuk mendapatkan versi yang sebenarnya. Fungsi getenv() dapat digunkaan untuk melakukan hal ini. Kita dapat juga membentuk suatu variabel lingkungan dengan fungsi putenv().