Nowdoc Pada PHP

Pada kesempatan yang lalu kita telah membahas  Cara Penulisan String Pada PHP  dimana salah satu cara  penulisannya menggunakan satu  tanda kutip (single quote). Jika string yang kita tulis panjang dan didalam nya terdapat banyak satu tanda kutip, maka cara penulisan tersebut menjadi agak merepotkan karena kita harus melakukan escape (menuliskan \) untuk setiap tanda kutip yang kita tulis. untuk mengatasi hal tersebut, maka mulai PHP > 5.3.0 kita dapat menggunakan apa  yang disebut nowdoc

I. Apa itu nowdoc pada PHP

Nowdoc merupakan cara lain penulisan string pada PHP dimana kita tidak perlu melakukan escape (menuliskan \) untuk setip satu tanda kutip yang kita tulis.  Dengan nowdoc  seolah olah kita menulis string dengan single  quote namun tanpa harus melakukan escape  pada satu  tanda kutip (single quote) yang kita tulis.

II. Cara Penulisan Nowdoc  pada PHP

Penulisan nowdoc  harus memenuhi ketentuan sebagai berikut:

  1. Sama seperti Heredoc, nowdoc diawali dengan menuliskan operator <<< dan  diikuti dengan identifier, namun  identifier harus ditulis didalam satu tanda kutip ( <<<'IDENTIFIER' ) penulisan identifier harus memenuhi syarat:
    • Hanya boleh menggunakan alphanumeric dan underscore.
    • Tidak boleh diawali dengan angka maupun underscore.
    • Antara operator <<< dan identifier boleh dipisah dengan spasi.
  2. Tulis string yang diinginkan pada baris baru  setelah identifier.
  3. Nowdoc  ditutup dengan identifier yang sama dan harus memenuhi syarat:
    • Identifier penutup ditulis pada baris baru dan pada kolom pertama dan diikuti  dengan semicolon (;), tidak ada spasi antara  identifier dan semicolon.
    • Sebelum atau sesudah identifier dan semicolon, tidak boleh ada karakter lain termasuk spasi atau indent, sehingga baris tersebut hanya berisi identifier dan  semicolon.

 

III. Contoh Penulisan Nowdoc  Pada PHP

Setelah dibahas mengenai  cara  penulisan nowdoc, berikut ini beberapa contoh penulisan nowdoc  pada  PHP:

<?php
$nama = 'agusph';

$str = <<<'MY_IDENT'
Contoh penulisan nowdoc pada PHP.
Menulis string tanpa escape (back slash) pada PHP. 
Semuanya akan dianggap string 
Contoh 
- kata Jum'at dengan satu tanda kutip atau
Jum"at dengan dua tanda kutip
- variabel $nama
- object property: $siswa->nis
- object method: {$siswa->nilai()}
- array: $produk['jumlah'] 
MY_IDENT;

echo $str;

Contoh diatas menghasilkan output:  Contoh penulisan nowdoc pada PHP. Menulis string tanpa escape (back slash) pada PHP. Semuanya akan dianggap string Contoh – kata Jum’at dengan satu tanda kutip atau Jum”at dengan dua tanda kutip – variabel $nama – object property: $siswa->nis – object method: {$siswa->nilai()} – array: $produk[‘jumlah’]

pada contoh diatas kita menggunakan identifier  MY_IDENT,  Tips:  agar lebih mudah dibaca (terutama oleh programmer lain) sebaiknya kita menggunakan identifier yang sudah banyak digunakan, seperti EOT (End Of Text) atau EOD (End Of Data/Document)

Perhatikan juga bahwa semua yang ada di dalam blok nowdoc akan menghasilkan nilai  apa adanya sesuai dengan yang kita tulis, tidak peduli apakah itu variabel (primitive, array atau object) maupun string.

VII. Contoh Penulisan Kode HTML dan SQL Dengan  Nowdoc

Salah satu  manfaat  nowdoc adalah ketika menuliskan kode HTML dan SQL.

Contoh HTML:

<?php
$html = <<<'HTML'
<form method='post' action=''>
	<h2>Browser favorit anda?</h2>
	<input type='checkbox' id='chrome' name='chrome' value='chrome' CHECKED = 'CHECKED'/>
	<label class='checkbox-small checked-small' for='chrome' >Google Chrome</label>
	<input type='checkbox' id='firefox' name='firefox' value='firefox' CHECKED = 'CHECKED'/>
	<label class='checkbox-small checked-small' for='firefox' >Firefox</label>
	<input type='checkbox' id='ie' name='ie' value='ie' CHECKED = 'CHECKED'/>
	<label class='checkbox-small checked-small' for='ie' >Internet Explorer</label>
	<input type='checkbox' id='safari' name='safari' value='safari' CHECKED = 'CHECKED'/>
	<label class='checkbox-small checked-small' for='safari' >Safari</label>
	<input type='checkbox' id='opera' name='opera' value='opera' CHECKED = 'CHECKED'/>
	<label class='checkbox-small checked-small' for='opera' >Opera</label>
	<input type='submit' name='submit' value='Vote'>
</form>
HTML;

echo $html;
?>

Contoh SQL:

<?php

$sql = <<<'SQL'
SELECT CONCAT(byr.kd_plg, '-', byr.kd_kntr, '.', byr.kd_cab) AS id_plg,
		plg.bentuk_hukum AS badan_hukum,
		plg.nama, SUM(rutin_2014) AS rutin_2014, SUM(total_2014) AS total_2014, SUM(rutin_2015) AS rutin_2015, SUM(total_2015) AS total_2015, '-' AS growth_2014, 
		IF(tgl_daftar < '2015-00-00', 
			ROUND( (SUM(total_2015) - SUM(total_2014)) / ABS(SUM(total_2014)) * 100, 2 ), 
			0
		) AS growth_2015
FROM byr
LEFT JOIN plg USING(kd_plg, kd_kntr, kd_cab)
WHERE kd_plg = '167625367'
SQL;

$stmt->prepare($sql);
$result = $stmt->execute();

Demikian pembahasan tentang  nowdoc  pada PHP, semoga dapat bermanfaat.

Subscibe Now

Suka dengan artikel di Jagowebdev.com? jangan sampai ketinggalan, segera join ke milis kami untuk update informasi terbaru dari Jagowebdev.com

Komitmen Kami: Kami senantiasa menghargai privasi Anda dan tidak akan membagikan identitas Anda ke pihak manapun.

Silakan tinggalkan komentar

Newsletter

Jadilah yang pertama tahu berita terbaru dari Jagowebdev.com