cvs: phpdoc-id /chapters tutorial.xml
| From: | Salman AS | Date: | Thu, 08 Sep 2005 04:06:08 +0000 |
| Subject: | cvs: phpdoc-id /chapters tutorial.xml | ||
| Groups: | php.doc.id | ||
| Request: | Send a blank email to doc-id+get-24@lists.php.net to get a copy of this message | ||
salman Thu Sep 8 00:06:08 2005 EDT
Added files:
/phpdoc-id/chapters tutorial.xml
Log:
Adding chapters/tutorial.xml
http://cvs.php.net/co.php/phpdoc-id/chapters/tutorial.xml?r=1.1&p=1 Index: phpdoc-id/chapters/tutorial.xml +++ phpdoc-id/chapters/tutorial.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <chapter id="tutorial"> <title>Sebuah Pelajaran Sederhana</title> <para> Di sini kami akan menunjukkan dasar-dasar PHP secara singkat, sebuah pelajaran sederhana. Tulisan ini hanya akan membahas pembuatan halaman web dinamis dengan PHP, meskipun itu bukan satu-satunya kemampuan PHP. Simak bagian yang berjudul <link linkend="intro-whatcando">Apa yang bisa dikerjakan oleh PHP</link> untuk penjelasan lebih jauh. </para> <para> Halaman-halaman web yang mengandung skrip PHP dapat diperlakukan seperti halaman web biasa. Anda dapat membuat dan mengeditnya sebagaimana Anda membuat halaman HTML biasa. </para> <sect1 id="tutorial.requirements"> <title>Apa yang Saya perlukan?</title> <para> Dalam pelajaran ini kami beranggapan bahwa server Anda sudah mendukung PHP dan semua file dengan akhiran <filename>.php</filename> akan ditangani oleh PHP. Pada kebanyakan server, akhiran ini adalah akhiran default untuk file-file PHP, akan tetapi untuk meyakinkan Anda bisa menanyakan pada Administrator server. Jika server Anda sudah mendukung PHP, maka Anda tidak perlu melakukan apapun. Anda timggal membuat file-file <filename>.php</filename>, meletakkannya di direktori web dan server akan mengolahnya secara otomatis. Tidak perlu melakukan kompilasi atau melakukan instalasi perangkat-perangkat tambahan lain. Bayangkan file-file PHP ini sebagai halaman HTML dengan tambahan tag-tag yang memungkinkan Anda melakukan hal-hal yang tidak ada dalam HTML. Kebanyakan webhosting menawarkan fasilitas PHP, akan tetapi jika webhosting Anda tidak, pertimbangkan untuk membaca bagian <ulink url="&url.php.links;">PHP Links </ulink> untuk mencari webhosting yang menawarkan PHP. </para> <para> Katakanlah Anda ingin menghemat bandwidth dan mengembangkan aplikasi di komputer lokal. Dalam kasus ini, Anda harus menginstall sebuah web server, seperti <ulink url="&url.apache;">Apache</ulink>, dan tentu saja <ulink url="&url.php.downloads;">PHP</ulink>. Anda biasanya juga ingin menginstal sebuah database server, seperti <ulink url="&url.mysql.docs;">MySQL</ulink>. </para> <para> Anda dapat menginstal perangkat ini satu per satu atau memilih cara lain yang paling mudah. Panduan kami memuat <link linkend="install">Cara Instalasi PHP</link> (dengan anggapan Anda sudah menginstal webserver). Bilamana Anda mempunyai masalah saat menginstalasi PHP, kami menganjurkan Anda untuk menanyakannya di <ulink url="&url.php.mailing-lists;">mailing list instalasi</ulink> kami. Akan tetapi jika Anda menginginkan jalan termudah, maka <ulink url="&url.installkits;">carilah paket software yang sudah dikonfigurasi </ulink> untuk sistem operasi Anda. Paket ini akan secara otomatis menginstal semua yang Anda perlukan hanya dengan beberapa langkah mudah. Adalah sangat mudah untuk menginstal sebuah webserver dengan dukungan PHP pada beberapa sistem operasi, termasuk MacOSX, Linux dan Windows. Di dunia Linux, Anda akan merasakan <ulink url="&url.rpmfind;">rpmfind </ulink> dan <ulink url="&url.rpmfind.pbone;">PBone</ulink> sangat membantu untuk mencari paket-paket RPM. Anda mungkin ingin juga mengunjungi <ulink url="&url.apt-get;">apt-get</ulink> untuk mencari paket-paket untuk Debian. </para> </sect1> <sect1 id="tutorial.firstpage"> <title>Halaman PHP Anda yang pertama</title> <para> Create a file named <filename>hello.php</filename> and put it in your web server's root directory (<varname>DOCUMENT_ROOT</varname>) with the following content: Buatlah sebuah file dengan nama <filename>hello.php</filename> dan simpan file itu dalam root direktori web server Anda (di Apache lihat kata kunci <varname>DOCUMENT_ROOT</varname>) dengan isi sebagai berikut: </para> <para> <example> <title>Skrip PHP kita yang pertama: <filename>hello.php</filename></title> <programlisting role="php"> <![CDATA[ <html> <head> <title>Test PHP</title> </head> <body> <?php echo '<p>Hello World</p>'; ?> </body> </html> ]]> </programlisting> <simpara> Gunakan web browser untuk mengakses file tersebut dengan alamat URL web server Anda, akhiri dengan "/hello.php". Ketika mengembangkan aplikasi di komputer lokal URL ini biasanya akan seperti ini <literal>http://localhost/hello.php</literal> atau <literal>http://127.0.0.1/hello.php</literal> tapi ini juga bergantung dengan konfigurasi web server. Apabila semuanya sudah terkonfigurasi dengan benar, file ini akan diproses oleh PHP dan hasil berikut ini akan dikirim kepada browser Anda: </simpara> <screen role="html"> <![CDATA[ <html> <head> <title>Test PHP</title> </head> <body> <p>Hello World</p> </body> </html> ]]> </screen> </example> </para> <para> Program ini sangat sederhana dan Anda sebenarnya tidak memerlukan PHP untuk membuat halaman seperti ini. Ia hanya akan menampilkan: <literal>Hello World</literal> menggunakan perintah PHP <function>echo </function>. Catat bahwa file tersebut <emphasis>tidak harus executable </emphasis> atau berupa file istimewa. Server akan mengetahui bahwa file ini harus diterjemahkan oleh PHP sebab menggunakan akhiran ".php", dimana server sudah dikonfigurasi untuk memrosesnya dengan PHP. Bayangkan ini sebagai sebuah file HTML biasa yang berisi beberapa tag khusus yang bisa Anda gunakan untuk melakukan hal-hal menarik. </para> <para> Saat Anda mencoba contoh ini dan tidak mendapatkan hasil sama sekali, browser minta konfirmasi download, atau Anda mendapatkan keseluruhan file sebagai file text, kemungkinan adalah server Anda belum mendukung PHP, atau belum dikonfigurasi dengan benar. Tanyakan pada administrator untuk mengaktifkannya untuk Anda menggunakan petunjuk dari bab <link linkend="install">Instalasi</link> dalam panduan PHP ini. Apabila Anda bekerja dengan komputer lokal, Anda juga harus membaca bab instalasi ini untuk meyakinkan segalanya telah dikonfigurasi dengan baik. Yakinkan file yang Anda akses adalah melalui protokol http, jadi hasil yang Anda dapatkan memang berasal dari web server. Jika Anda mengakses file langsung dari filesistem, tentu saja file tersebut tidak akan diproses oleh PHP. Apabila masalah ini tidak berhenti, jangan malu-malu menggunakan pilihan-pilihan yang disediakan <ulink url="&url.php.support;">PHP support</ulink>. </para> <para> Inti dari contoh di atas adalah menunjukkan format penggunaan tag khusus milik PHP. Dalam contoh ini kita menggunakan <literal><?php</literal> untuk memulai perintah-perintah PHP. Kemudian diikuti perintah-perintah PHP dan untuk meninggalkan modus PHP dengan mengakhiri dengan tanda penutup <literal>?></literal>. Anda diperbolehkan masuk dan keluar dari modus PHP dalam dokumen HTML dengan cara seperti ini dimanapun Anda mau. Untuk penjelasan ditel, simak panduan ini di bagian <link linkend="language.basic-syntax">Sintaksis PHP dasar</link>. </para> <note> <title>Catatan Mengenai Editor Teks</title> <para> Anda bisa mendapatkan teks editor dan Integrated Development Environments (IDEs) yang bisa digunakan untuk membuat, mengedit dan mengelola file-file PHP. Daftar tak lengkap perangkat-perangkat seperti ini dipelihara di <ulink url="&url.phpeditorlist;">Daftar Editor PHP</ulink>. </para> </note> <note> <title>Catatan Mengenai Pengolah Kata</title> <para> Pengolah kata seperti StarOffice Writer, Micrososft Word dan Abiword kurang optimal untuk mengedit file-file PHP. Jika Anda menggunakan salah satunya untuk membuat contoh-contoh skrip di panduan ini, yakinkan untuk menyimpannya sebagai file <emphasis>plain text</emphasis>, sebab jika tidak PHP tidak akan bisa membaca dan menjalankan skrip tersebut. </para> </note> <note> <title>Catatan Tentang Notepad di Windows</title> <para> Jika Anda menulis skrip PHP menggunakan Notepad, Anda harus yakin telah menyimpan file-file teresbut dengan akhiran .php. (Notepad akan menambahkan akhiran .txt pada setiap file yang diedit secara otomatis kecuali melakukan salah satu langkah berikut untuk mencegahnya.) Ketika Anda menyimpan file dan diminta untuk memberikan nama file, berikan nama file dalam tanda petik (i.e. "<filename>hello.php</filename>"). Alternatif lain, klik pada 'Text Documents' drop-down menu di dialog box 'Save' dan ubah setelan ke "All Files". Kemudian masukkan nama file Anda tanpa tanda petik. </para> </note> <para> Sekarang Anda telah berhasil membuat skrip PHP, saatnya untuk membuat skrip PHP yang paling terkenal! Panggil fungsi <function>phpinfo</function> dan Anda akan mendapatkan informasi yang berlimpah mengenai sistem Anda seperti <link linkend="language.variables.predefined">predefined variables</link>, modul-modul PHP yang aktif, dan setelan <link linkend="configuration">Konfigurasi</link>. Luangkan sedikit waktu untuk mencermati informasi penting ini. </para> <para> <example> <title>Mencetak informasi penting dari PHP</title> <programlisting role="php"> <![CDATA[ <?php phpinfo(); ?> ]]> </programlisting> </example> </para> </sect1> <sect1 id="tutorial.useful"> <title>Hal yang Berguna</title> <para> Mari kita melakukan hal yang lebih berguna. Kita akan mencari browser yang digunakan oleh pengunjung. Untuk itu, kita akan memeriksa string yang dikirim browser sebagai bagian dari request HTTP. Informasi ini disimpan dalam <link linkend="language.variables">variabel</link>. Variabel selalu disimpan dengan tanda dolar dalam PHP. Variabel yang sedang kita amati saat ini adalah <varname>$_SERVER['HTTP_USER_AGENT']</varname>. </para> <note> <para> <link linkend="reserved.variables.server">$_SERVER</link> adalah variabel khusus yang telah disediakan PHP untuk diisi dengan semua informasi mengenai web server. Ia dikenal sebagai sebuah autoglobal (atau superglobal). Simak halaman yang berhubungan di <link linkend="language.variables.superglobals">superglobals</link> untuk informasi yang lebih lengkap. Variabel-variabel khusus ini diperkenalkan pada PHP versi <ulink url="&url.php.release4.1.0;">4.1.0</ulink>. Sebelum itu, kita harus menggunakan variabel bertipe array <varname>$HTTP_*_VARS</varname>, misalnya <varname>$HTTP_SERVER_VARS</varname>. Meskipun akan ditinggalkan, variabel-variabel lama ini masih bisa dipakai. (Simak juga catatan mengenai <link linkend="tutorial.oldcode">kode lama</link>.) </para> </note> <para> Untuk menampilkan variabel ini, lakukan: </para> <para> <example> <title>Mencetak sebuah variable (Elemen Array)</title> <programlisting role="php"> <![CDATA[ <?php echo $_SERVER['HTTP_USER_AGENT']; ?> ]]> </programlisting> <para> A sample output of this script may be: Contoh hasil skrip mungkin seperti ini: </para> <screen role="html"> Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) </screen> </example> </para> <para> Terdapat beberapa <link linkend="language.types">types</link> variabel yang bisa Anda gunakan di PHP. Dalam contoh di atas kita mencetak elemen <link linkend="language.types.array">Array</link>. Array-array ini akan sangat berguna. </para> <para> <varname>$_SERVER</varname> hanyalah salah satu variabel PHP yang bisa Anda dapatkan secara otomatis. Daftarnya bisa dilihat dari bagian <link linkend="reserved.variables">Reserved Variables</link> panduan ini atau Anda juga bisa mendapatkannya secara lengkap dengan melihat hasil fungsi <function>phpinfo</function> yang digunakan dalam contoh sebelumnya. </para> <para> Anda dapat meletakkan beberapa perintah PHP dalam sebuah tag PHP dan membangun sebuah blok kode yang mengerjakan banyak hal daripada sekedar perintah echo. Sebagai contoh, jika Anda ingin memeriksa Internet Explorer Anda bisa memakai ini: </para> <para> <example> <title>Contoh menggunakan <link linkend="language.control-structures">Struktur Kendali </link> dan <link linkend="language.functions">Fungsi</link></title> <programlisting role="php"> <![CDATA[ <?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) { echo 'Anda menggunakan Internet Explorer.<br />'; } ?> ]]> </programlisting> <para> Contoh hasil skrip ini adalah: </para> <screen role="html"> <![CDATA[ Anda menggunakan Internet Explorer.<br /> ]]> </screen> </example> </para> <para> Di sini kami mengenalkan beberapa konsep baru. Kita mempunyai statemen <link linkend="control-structures.if">if</link>. Jika Anda terbiasa dengan sintaksis dasar yang digunakan bahasa, mungkin ini tampak masuk akal bagi Anda. Tapi jika tidak, Anda mungkin harus membeli sebuah buku pengantar pemrograman PHP dan membaca beberapa bab awal, atau baca bagian <link linkend="langref">Rujukan Bahasa</link> dalam panduan ini. Anda akan menemukan daftar buku-buku PHP di <ulink url="&url.php.books;">&url.php.books;</ulink>. </para> <para> Konsep kedua yang kita kenalkan adalah fungsi <function>strpos</function>. <function>strpos</function> adalah fungsi yang berada di dalam PHP yang berguna untuk mencari sebuah string di dalam string yang lain. Dalam kasus ini kita mencari kata <literal>'MSIE'</literal> (disebut needle) di dalam <varname>$_SERVER['HTTP_USER_AGENT']</varname> (disebut haystack). Jika needle ditemukan di dalam haystack, fungsi ini akan mengembalikan posisi needle relatif dari awal haystack. Tapi jika tidak, ia akan mengembalikan nilai &false;. Jika ia tidak mengembalikan nilai &false;, maka ekspresi <link linkend="control-structures.if">if</link> akan bernilai &true; dan perintah-perintah di dalam {kurung kurawal} akan dijalankan. Selain itu, maka perintah-perintah tersebut tidak akan dijalankan. Anda bebas membuat contoh sangat mirip, menggunakan <link linkend="control-structures.if">if</link>, <link linkend="control-structures.else">else</link>, dan fungsi-fungsi lain seperti <function>strtoupper</function> dan <function>strlen</function>. Masing-masing halaman yang menjelaskan fungsi-fungsi tersebut juga biasanya berisi contoh-contoh. Apabila Anda tidak yakin cara menggunakan sebuah fungsi, Anda tentu ingin membaca bagian panduan <link linkend="about.prototypes">bagaimana membaca definisi fungsi</link> dan bagian <link linkend="language.functions">Fungsi-fungsi PHP</link>. </para> <para> Kita bisa melangkah lebih jauh lagi dan menunjukkan pada Anda bagaimana masuk dan keluar dari modus PHP meskipun di tengah-tengah blok kode PHP: </para> <para> <example> <title>Mencampur modus HTML dan PHP</title> <programlisting role="php"> <![CDATA[ <?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) { ?> <h3>strpos() harus mengembalikan nilai non-false</h3> <p>Anda menggunakan Internet Explorer</p> <?php } else { ?> <h3>strpos() harus mengembalikan false</h3> <p>Anda tidak menggunakan Internet Explorer</p> <?php } ?> ]]> </programlisting> <para> Contoh hasil skrip ini adalah: </para> <screen role="html"> <![CDATA[ <h3>strpos() harus mengembalikan nilai non-false</h3> <p>Anda menggunakan Internet Explorer</p> ]]> </screen> </example> </para> <para> Alih-alih menggunakan statemen PHP echo untuk menampilkan sesuatu, kita keluar dari modus PHP dan mengirimkan kode HTML secara langsung. Hal penting dan harus diperhatikan adalah tidak ada perubahan yang mendasar pada alur logika jalannya skrip. Hanya sebuah blok HTML akan dikirimkan ke browser bergantung pada hasil fungsi <function>strpos</function>. Dengan kata lain, ia akan dicetak atau tidak bergantung pada ditemukannya string <literal>MSIE</literal>. </para> </sect1> <sect1 id="tutorial.forms"> <title>Memakai Forms</title> <para> Salah satu fitur PHP yang menjadi keistimewaan PHP adalah bagaimana dia menangani form-form HTML. Konsep dasar yang paling penting harus dipahami adalah setiap elemen form secara otomatis akan didapatkan dalam skrip PHP. Silahkan simak panduan di bagian <link linkend="language.variables.external">Variable dari luar PHP</link> untuk informasi lebih lanjut dan contoh-contoh menggunakan form dengan PHP. Berikut ini adalah contoh form HTML: </para> <para> <example> <title>Form HTML sederhana</title> <programlisting role="html"> <![CDATA[ <form action="action.php" method="post"> <p>Nama Anda: <input type="text" name="name" /></p> <p>Umur Anda: <input type="text" name="age" /></p> <p><input type="submit" /></p> </form> ]]> </programlisting> </example> </para> <para> Tidak ada yang istimewa dalam form ini. Hanya sebuah form HTML tanpa tag khusus apapun. Ketika pengunjung mengisi form ini dan menekan tombol submit, skrip <filename>action.php</filename> akan dipanggil. Dalam file tersebut Anda akan menulis seperti ini: </para> <para> <example> <title>Mencetak data dari form kita</title> <programlisting role="php"> <![CDATA[ Hi <?php echo $_POST['name']; ?>. Anda berumur <?php echo $_POST['age']; ?>. ]]> </programlisting> <para> Contoh hasil skrip kira-kira seperti ini: </para> <screen role="html"> <![CDATA[ Hi Joe. Anda berumur 22. ]]> </screen> </example> </para> <para> Sangat jelas apa yang sedang terjadi. Tidak ada yang berlebihan. Variabel <varname>$_POST['name']</varname> dan <varname>$_POST['age']</varname> secara otomatis akan dibuat oleh PHP. Sebelumnya kita menggunakan autoglobal <varname>$_SERVER</varname>, sedangkan di atas kami mengenalkan autoglobal <link linkend="reserved.variables.post">$_POST</link> yang berisi semua data POST. Perhatikan bagaimana kita memakai <emphasis>method</emphasis> POST dalam form kita. Jika kita menggunakan method <emphasis>GET</emphasis> maka informasi yang kita dapatkan dari form berada di autoglobal <link linkend="reserved.variables.get">$_GET</link>. Anda juga menggunakan autoglobal <link linkend="reserved.variables.request">$_REQUEST</link>, jika Anda tidak peduli darimana sumber data berasal. Ia berisi gabungan data dari GET, POST, dan COOKIE. Simak juga fungsi <function>import_request_variables</function>. </para> <para> Anda juga bisa menggunakan XForms dalam PHP, meskipun Anda akan merasa nyaman dengan form HTML untuk beberapa waktu ini. Meskipun bekerja dengan XForms bukan konsumsi para pemula, tapi mungkin Anda tertarik menggunakannya. Kita juga memiliki <link linkend="features.xforms">pelajaran singkat menangani data dari XForms</link> di bagian fitur. </para> </sect1> <sect1 id="tutorial.oldcode"> <title>Menggunakan kode-kode lama dengan versi PHP terbaru</title> <para> Dewasa ini PHP berkembang menjadi bahasa pemrograman yang populer, didukung berbagai repositori publik dan berisi kode-kode yang bisa Anda gunakan. Para developer PHP berusaha sekuat tenaga untuk menjaga kompatibilitas ke belakang, sehingga skrip yang dibuat untuk versi lama akan berjalan mulus (idealnya) tanpa perubahan di versi PHP yang terbaru. Kenyataannya, beberapa perubahan memang harus dilakukan. </para> <para> Dua perubahan paling penting yang mempengaruhi kode-kode lama adalah: <itemizedlist> <listitem> <simpara> Array yang akan ditinggalkan <varname>$HTTP_*_VARS</varname> (yang harus dideklarasikan sebagai global ketika ingin digunakan dalam sebuah fungsi atau method). <link linkend="language.variables.superglobals">Array autoglobal</link> berikut dikenalkan pada PHP <ulink url="&url.php.release4.1.0;">4.1.0</ulink>. Yaitu: <varname>$_GET</varname>, <varname>$_POST</varname>, <varname>$_COOKIE</varname>, <varname>$_SERVER</varname>, <varname>$_FILES</varname>, <varname>$_ENV</varname>, <varname>$_REQUEST</varname>, dan <varname>$_SESSION</varname>. Array <varname>$HTTP_*_VARS</varname>, seperti <varname>$HTTP_POST_VARS</varname>, masih ada semenjak PHP 3. &avail.register-long-arrays; </simpara> </listitem> <listitem> <simpara> Variabel eksternal secara default tidak lagi didaftarkan dalam skop global. Dengan kata lain, sejak PHP <ulink url="&url.php.release4.2.0;">4.2.0</ulink> setelan awal direktif PHP <link linkend="ini.register-globals">register_globals</link> adalah <emphasis>off</emphasis> di &php.ini;. Cara yang paling disukai untuk mengakses nilai-nilai ini adalah melalui array autoglobal yang disebutkan di atas. Skrip-skrip lama, buku-buku, dan pelajaran-pelajaran mungkin masih sangat mengandalkan direktif ini diaktifkan. Apabila ia aktif, sebagai contoh, seseorang bisa menggunakan <varname>$id</varname> pada URL <literal>http://www.example.com/foo.php?id=42</literal>. Baik dalam kondisi on atau off, <varname>$_GET['id']</varname> akan selalu bisa dipakai. </simpara> </listitem> </itemizedlist> Untuk penjelasan ditel mengenai perubahan ini, simak bagian <link linkend="language.variables.predefined">predefined variables</link> dan kaitan-kaitan yang ada disitu. </para> </sect1> <sect1 id="tutorial.whatsnext"> <title>Selanjutnya Apa?</title> <para> Dengan pengetahuan baru Anda ini seharusnya Anda akan bisa memahami sebagian besar isi panduan dan juga berbagai contoh skrip dalam arsip contoh. Anda juga bisa mendapatkan contoh-contoh lain dari situs php.net bagian links: <ulink url="&url.php.links;">&url.php.links;</ulink>. </para> <para> Untuk membaca berbagai slide presentasi yang menunjukkan apa saja yang bisa dikerjakan oleh PHP, simak situs PHP Conference Material: <ulink url="&url.php.conf;"> &url.php.conf;</ulink> dan <ulink url="&url.php.talks;">&url.php.talks; </ulink>. </para> </sect1> </chapter> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t indent-tabs-mode:nil sgml-parent-document:nil sgml-default-dtd-file:"../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 -->
http://cvs.php.net/co.php/phpdoc-id/chapters/tutorial.xml?r=1.1&p=1 Index: phpdoc-id/chapters/tutorial.xml +++ phpdoc-id/chapters/tutorial.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <chapter id="tutorial"> <title>Sebuah Pelajaran Sederhana</title> <para> Di sini kami akan menunjukkan dasar-dasar PHP secara singkat, sebuah pelajaran sederhana. Tulisan ini hanya akan membahas pembuatan halaman web dinamis dengan PHP, meskipun itu bukan satu-satunya kemampuan PHP. Simak bagian yang berjudul <link linkend="intro-whatcando">Apa yang bisa dikerjakan oleh PHP</link> untuk penjelasan lebih jauh. </para> <para> Halaman-halaman web yang mengandung skrip PHP dapat diperlakukan seperti halaman web biasa. Anda dapat membuat dan mengeditnya sebagaimana Anda membuat halaman HTML biasa. </para> <sect1 id="tutorial.requirements"> <title>Apa yang Saya perlukan?</title> <para> Dalam pelajaran ini kami beranggapan bahwa server Anda sudah mendukung PHP dan semua file dengan akhiran <filename>.php</filename> akan ditangani oleh PHP. Pada kebanyakan server, akhiran ini adalah akhiran default untuk file-file PHP, akan tetapi untuk meyakinkan Anda bisa menanyakan pada Administrator server. Jika server Anda sudah mendukung PHP, maka Anda tidak perlu melakukan apapun. Anda timggal membuat file-file <filename>.php</filename>, meletakkannya di direktori web dan server akan mengolahnya secara otomatis. Tidak perlu melakukan kompilasi atau melakukan instalasi perangkat-perangkat tambahan lain. Bayangkan file-file PHP ini sebagai halaman HTML dengan tambahan tag-tag yang memungkinkan Anda melakukan hal-hal yang tidak ada dalam HTML. Kebanyakan webhosting menawarkan fasilitas PHP, akan tetapi jika webhosting Anda tidak, pertimbangkan untuk membaca bagian <ulink url="&url.php.links;">PHP Links </ulink> untuk mencari webhosting yang menawarkan PHP. </para> <para> Katakanlah Anda ingin menghemat bandwidth dan mengembangkan aplikasi di komputer lokal. Dalam kasus ini, Anda harus menginstall sebuah web server, seperti <ulink url="&url.apache;">Apache</ulink>, dan tentu saja <ulink url="&url.php.downloads;">PHP</ulink>. Anda biasanya juga ingin menginstal sebuah database server, seperti <ulink url="&url.mysql.docs;">MySQL</ulink>. </para> <para> Anda dapat menginstal perangkat ini satu per satu atau memilih cara lain yang paling mudah. Panduan kami memuat <link linkend="install">Cara Instalasi PHP</link> (dengan anggapan Anda sudah menginstal webserver). Bilamana Anda mempunyai masalah saat menginstalasi PHP, kami menganjurkan Anda untuk menanyakannya di <ulink url="&url.php.mailing-lists;">mailing list instalasi</ulink> kami. Akan tetapi jika Anda menginginkan jalan termudah, maka <ulink url="&url.installkits;">carilah paket software yang sudah dikonfigurasi </ulink> untuk sistem operasi Anda. Paket ini akan secara otomatis menginstal semua yang Anda perlukan hanya dengan beberapa langkah mudah. Adalah sangat mudah untuk menginstal sebuah webserver dengan dukungan PHP pada beberapa sistem operasi, termasuk MacOSX, Linux dan Windows. Di dunia Linux, Anda akan merasakan <ulink url="&url.rpmfind;">rpmfind </ulink> dan <ulink url="&url.rpmfind.pbone;">PBone</ulink> sangat membantu untuk mencari paket-paket RPM. Anda mungkin ingin juga mengunjungi <ulink url="&url.apt-get;">apt-get</ulink> untuk mencari paket-paket untuk Debian. </para> </sect1> <sect1 id="tutorial.firstpage"> <title>Halaman PHP Anda yang pertama</title> <para> Create a file named <filename>hello.php</filename> and put it in your web server's root directory (<varname>DOCUMENT_ROOT</varname>) with the following content: Buatlah sebuah file dengan nama <filename>hello.php</filename> dan simpan file itu dalam root direktori web server Anda (di Apache lihat kata kunci <varname>DOCUMENT_ROOT</varname>) dengan isi sebagai berikut: </para> <para> <example> <title>Skrip PHP kita yang pertama: <filename>hello.php</filename></title> <programlisting role="php"> <![CDATA[ <html> <head> <title>Test PHP</title> </head> <body> <?php echo '<p>Hello World</p>'; ?> </body> </html> ]]> </programlisting> <simpara> Gunakan web browser untuk mengakses file tersebut dengan alamat URL web server Anda, akhiri dengan "/hello.php". Ketika mengembangkan aplikasi di komputer lokal URL ini biasanya akan seperti ini <literal>http://localhost/hello.php</literal> atau <literal>http://127.0.0.1/hello.php</literal> tapi ini juga bergantung dengan konfigurasi web server. Apabila semuanya sudah terkonfigurasi dengan benar, file ini akan diproses oleh PHP dan hasil berikut ini akan dikirim kepada browser Anda: </simpara> <screen role="html"> <![CDATA[ <html> <head> <title>Test PHP</title> </head> <body> <p>Hello World</p> </body> </html> ]]> </screen> </example> </para> <para> Program ini sangat sederhana dan Anda sebenarnya tidak memerlukan PHP untuk membuat halaman seperti ini. Ia hanya akan menampilkan: <literal>Hello World</literal> menggunakan perintah PHP <function>echo </function>. Catat bahwa file tersebut <emphasis>tidak harus executable </emphasis> atau berupa file istimewa. Server akan mengetahui bahwa file ini harus diterjemahkan oleh PHP sebab menggunakan akhiran ".php", dimana server sudah dikonfigurasi untuk memrosesnya dengan PHP. Bayangkan ini sebagai sebuah file HTML biasa yang berisi beberapa tag khusus yang bisa Anda gunakan untuk melakukan hal-hal menarik. </para> <para> Saat Anda mencoba contoh ini dan tidak mendapatkan hasil sama sekali, browser minta konfirmasi download, atau Anda mendapatkan keseluruhan file sebagai file text, kemungkinan adalah server Anda belum mendukung PHP, atau belum dikonfigurasi dengan benar. Tanyakan pada administrator untuk mengaktifkannya untuk Anda menggunakan petunjuk dari bab <link linkend="install">Instalasi</link> dalam panduan PHP ini. Apabila Anda bekerja dengan komputer lokal, Anda juga harus membaca bab instalasi ini untuk meyakinkan segalanya telah dikonfigurasi dengan baik. Yakinkan file yang Anda akses adalah melalui protokol http, jadi hasil yang Anda dapatkan memang berasal dari web server. Jika Anda mengakses file langsung dari filesistem, tentu saja file tersebut tidak akan diproses oleh PHP. Apabila masalah ini tidak berhenti, jangan malu-malu menggunakan pilihan-pilihan yang disediakan <ulink url="&url.php.support;">PHP support</ulink>. </para> <para> Inti dari contoh di atas adalah menunjukkan format penggunaan tag khusus milik PHP. Dalam contoh ini kita menggunakan <literal><?php</literal> untuk memulai perintah-perintah PHP. Kemudian diikuti perintah-perintah PHP dan untuk meninggalkan modus PHP dengan mengakhiri dengan tanda penutup <literal>?></literal>. Anda diperbolehkan masuk dan keluar dari modus PHP dalam dokumen HTML dengan cara seperti ini dimanapun Anda mau. Untuk penjelasan ditel, simak panduan ini di bagian <link linkend="language.basic-syntax">Sintaksis PHP dasar</link>. </para> <note> <title>Catatan Mengenai Editor Teks</title> <para> Anda bisa mendapatkan teks editor dan Integrated Development Environments (IDEs) yang bisa digunakan untuk membuat, mengedit dan mengelola file-file PHP. Daftar tak lengkap perangkat-perangkat seperti ini dipelihara di <ulink url="&url.phpeditorlist;">Daftar Editor PHP</ulink>. </para> </note> <note> <title>Catatan Mengenai Pengolah Kata</title> <para> Pengolah kata seperti StarOffice Writer, Micrososft Word dan Abiword kurang optimal untuk mengedit file-file PHP. Jika Anda menggunakan salah satunya untuk membuat contoh-contoh skrip di panduan ini, yakinkan untuk menyimpannya sebagai file <emphasis>plain text</emphasis>, sebab jika tidak PHP tidak akan bisa membaca dan menjalankan skrip tersebut. </para> </note> <note> <title>Catatan Tentang Notepad di Windows</title> <para> Jika Anda menulis skrip PHP menggunakan Notepad, Anda harus yakin telah menyimpan file-file teresbut dengan akhiran .php. (Notepad akan menambahkan akhiran .txt pada setiap file yang diedit secara otomatis kecuali melakukan salah satu langkah berikut untuk mencegahnya.) Ketika Anda menyimpan file dan diminta untuk memberikan nama file, berikan nama file dalam tanda petik (i.e. "<filename>hello.php</filename>"). Alternatif lain, klik pada 'Text Documents' drop-down menu di dialog box 'Save' dan ubah setelan ke "All Files". Kemudian masukkan nama file Anda tanpa tanda petik. </para> </note> <para> Sekarang Anda telah berhasil membuat skrip PHP, saatnya untuk membuat skrip PHP yang paling terkenal! Panggil fungsi <function>phpinfo</function> dan Anda akan mendapatkan informasi yang berlimpah mengenai sistem Anda seperti <link linkend="language.variables.predefined">predefined variables</link>, modul-modul PHP yang aktif, dan setelan <link linkend="configuration">Konfigurasi</link>. Luangkan sedikit waktu untuk mencermati informasi penting ini. </para> <para> <example> <title>Mencetak informasi penting dari PHP</title> <programlisting role="php"> <![CDATA[ <?php phpinfo(); ?> ]]> </programlisting> </example> </para> </sect1> <sect1 id="tutorial.useful"> <title>Hal yang Berguna</title> <para> Mari kita melakukan hal yang lebih berguna. Kita akan mencari browser yang digunakan oleh pengunjung. Untuk itu, kita akan memeriksa string yang dikirim browser sebagai bagian dari request HTTP. Informasi ini disimpan dalam <link linkend="language.variables">variabel</link>. Variabel selalu disimpan dengan tanda dolar dalam PHP. Variabel yang sedang kita amati saat ini adalah <varname>$_SERVER['HTTP_USER_AGENT']</varname>. </para> <note> <para> <link linkend="reserved.variables.server">$_SERVER</link> adalah variabel khusus yang telah disediakan PHP untuk diisi dengan semua informasi mengenai web server. Ia dikenal sebagai sebuah autoglobal (atau superglobal). Simak halaman yang berhubungan di <link linkend="language.variables.superglobals">superglobals</link> untuk informasi yang lebih lengkap. Variabel-variabel khusus ini diperkenalkan pada PHP versi <ulink url="&url.php.release4.1.0;">4.1.0</ulink>. Sebelum itu, kita harus menggunakan variabel bertipe array <varname>$HTTP_*_VARS</varname>, misalnya <varname>$HTTP_SERVER_VARS</varname>. Meskipun akan ditinggalkan, variabel-variabel lama ini masih bisa dipakai. (Simak juga catatan mengenai <link linkend="tutorial.oldcode">kode lama</link>.) </para> </note> <para> Untuk menampilkan variabel ini, lakukan: </para> <para> <example> <title>Mencetak sebuah variable (Elemen Array)</title> <programlisting role="php"> <![CDATA[ <?php echo $_SERVER['HTTP_USER_AGENT']; ?> ]]> </programlisting> <para> A sample output of this script may be: Contoh hasil skrip mungkin seperti ini: </para> <screen role="html"> Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) </screen> </example> </para> <para> Terdapat beberapa <link linkend="language.types">types</link> variabel yang bisa Anda gunakan di PHP. Dalam contoh di atas kita mencetak elemen <link linkend="language.types.array">Array</link>. Array-array ini akan sangat berguna. </para> <para> <varname>$_SERVER</varname> hanyalah salah satu variabel PHP yang bisa Anda dapatkan secara otomatis. Daftarnya bisa dilihat dari bagian <link linkend="reserved.variables">Reserved Variables</link> panduan ini atau Anda juga bisa mendapatkannya secara lengkap dengan melihat hasil fungsi <function>phpinfo</function> yang digunakan dalam contoh sebelumnya. </para> <para> Anda dapat meletakkan beberapa perintah PHP dalam sebuah tag PHP dan membangun sebuah blok kode yang mengerjakan banyak hal daripada sekedar perintah echo. Sebagai contoh, jika Anda ingin memeriksa Internet Explorer Anda bisa memakai ini: </para> <para> <example> <title>Contoh menggunakan <link linkend="language.control-structures">Struktur Kendali </link> dan <link linkend="language.functions">Fungsi</link></title> <programlisting role="php"> <![CDATA[ <?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) { echo 'Anda menggunakan Internet Explorer.<br />'; } ?> ]]> </programlisting> <para> Contoh hasil skrip ini adalah: </para> <screen role="html"> <![CDATA[ Anda menggunakan Internet Explorer.<br /> ]]> </screen> </example> </para> <para> Di sini kami mengenalkan beberapa konsep baru. Kita mempunyai statemen <link linkend="control-structures.if">if</link>. Jika Anda terbiasa dengan sintaksis dasar yang digunakan bahasa, mungkin ini tampak masuk akal bagi Anda. Tapi jika tidak, Anda mungkin harus membeli sebuah buku pengantar pemrograman PHP dan membaca beberapa bab awal, atau baca bagian <link linkend="langref">Rujukan Bahasa</link> dalam panduan ini. Anda akan menemukan daftar buku-buku PHP di <ulink url="&url.php.books;">&url.php.books;</ulink>. </para> <para> Konsep kedua yang kita kenalkan adalah fungsi <function>strpos</function>. <function>strpos</function> adalah fungsi yang berada di dalam PHP yang berguna untuk mencari sebuah string di dalam string yang lain. Dalam kasus ini kita mencari kata <literal>'MSIE'</literal> (disebut needle) di dalam <varname>$_SERVER['HTTP_USER_AGENT']</varname> (disebut haystack). Jika needle ditemukan di dalam haystack, fungsi ini akan mengembalikan posisi needle relatif dari awal haystack. Tapi jika tidak, ia akan mengembalikan nilai &false;. Jika ia tidak mengembalikan nilai &false;, maka ekspresi <link linkend="control-structures.if">if</link> akan bernilai &true; dan perintah-perintah di dalam {kurung kurawal} akan dijalankan. Selain itu, maka perintah-perintah tersebut tidak akan dijalankan. Anda bebas membuat contoh sangat mirip, menggunakan <link linkend="control-structures.if">if</link>, <link linkend="control-structures.else">else</link>, dan fungsi-fungsi lain seperti <function>strtoupper</function> dan <function>strlen</function>. Masing-masing halaman yang menjelaskan fungsi-fungsi tersebut juga biasanya berisi contoh-contoh. Apabila Anda tidak yakin cara menggunakan sebuah fungsi, Anda tentu ingin membaca bagian panduan <link linkend="about.prototypes">bagaimana membaca definisi fungsi</link> dan bagian <link linkend="language.functions">Fungsi-fungsi PHP</link>. </para> <para> Kita bisa melangkah lebih jauh lagi dan menunjukkan pada Anda bagaimana masuk dan keluar dari modus PHP meskipun di tengah-tengah blok kode PHP: </para> <para> <example> <title>Mencampur modus HTML dan PHP</title> <programlisting role="php"> <![CDATA[ <?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) { ?> <h3>strpos() harus mengembalikan nilai non-false</h3> <p>Anda menggunakan Internet Explorer</p> <?php } else { ?> <h3>strpos() harus mengembalikan false</h3> <p>Anda tidak menggunakan Internet Explorer</p> <?php } ?> ]]> </programlisting> <para> Contoh hasil skrip ini adalah: </para> <screen role="html"> <![CDATA[ <h3>strpos() harus mengembalikan nilai non-false</h3> <p>Anda menggunakan Internet Explorer</p> ]]> </screen> </example> </para> <para> Alih-alih menggunakan statemen PHP echo untuk menampilkan sesuatu, kita keluar dari modus PHP dan mengirimkan kode HTML secara langsung. Hal penting dan harus diperhatikan adalah tidak ada perubahan yang mendasar pada alur logika jalannya skrip. Hanya sebuah blok HTML akan dikirimkan ke browser bergantung pada hasil fungsi <function>strpos</function>. Dengan kata lain, ia akan dicetak atau tidak bergantung pada ditemukannya string <literal>MSIE</literal>. </para> </sect1> <sect1 id="tutorial.forms"> <title>Memakai Forms</title> <para> Salah satu fitur PHP yang menjadi keistimewaan PHP adalah bagaimana dia menangani form-form HTML. Konsep dasar yang paling penting harus dipahami adalah setiap elemen form secara otomatis akan didapatkan dalam skrip PHP. Silahkan simak panduan di bagian <link linkend="language.variables.external">Variable dari luar PHP</link> untuk informasi lebih lanjut dan contoh-contoh menggunakan form dengan PHP. Berikut ini adalah contoh form HTML: </para> <para> <example> <title>Form HTML sederhana</title> <programlisting role="html"> <![CDATA[ <form action="action.php" method="post"> <p>Nama Anda: <input type="text" name="name" /></p> <p>Umur Anda: <input type="text" name="age" /></p> <p><input type="submit" /></p> </form> ]]> </programlisting> </example> </para> <para> Tidak ada yang istimewa dalam form ini. Hanya sebuah form HTML tanpa tag khusus apapun. Ketika pengunjung mengisi form ini dan menekan tombol submit, skrip <filename>action.php</filename> akan dipanggil. Dalam file tersebut Anda akan menulis seperti ini: </para> <para> <example> <title>Mencetak data dari form kita</title> <programlisting role="php"> <![CDATA[ Hi <?php echo $_POST['name']; ?>. Anda berumur <?php echo $_POST['age']; ?>. ]]> </programlisting> <para> Contoh hasil skrip kira-kira seperti ini: </para> <screen role="html"> <![CDATA[ Hi Joe. Anda berumur 22. ]]> </screen> </example> </para> <para> Sangat jelas apa yang sedang terjadi. Tidak ada yang berlebihan. Variabel <varname>$_POST['name']</varname> dan <varname>$_POST['age']</varname> secara otomatis akan dibuat oleh PHP. Sebelumnya kita menggunakan autoglobal <varname>$_SERVER</varname>, sedangkan di atas kami mengenalkan autoglobal <link linkend="reserved.variables.post">$_POST</link> yang berisi semua data POST. Perhatikan bagaimana kita memakai <emphasis>method</emphasis> POST dalam form kita. Jika kita menggunakan method <emphasis>GET</emphasis> maka informasi yang kita dapatkan dari form berada di autoglobal <link linkend="reserved.variables.get">$_GET</link>. Anda juga menggunakan autoglobal <link linkend="reserved.variables.request">$_REQUEST</link>, jika Anda tidak peduli darimana sumber data berasal. Ia berisi gabungan data dari GET, POST, dan COOKIE. Simak juga fungsi <function>import_request_variables</function>. </para> <para> Anda juga bisa menggunakan XForms dalam PHP, meskipun Anda akan merasa nyaman dengan form HTML untuk beberapa waktu ini. Meskipun bekerja dengan XForms bukan konsumsi para pemula, tapi mungkin Anda tertarik menggunakannya. Kita juga memiliki <link linkend="features.xforms">pelajaran singkat menangani data dari XForms</link> di bagian fitur. </para> </sect1> <sect1 id="tutorial.oldcode"> <title>Menggunakan kode-kode lama dengan versi PHP terbaru</title> <para> Dewasa ini PHP berkembang menjadi bahasa pemrograman yang populer, didukung berbagai repositori publik dan berisi kode-kode yang bisa Anda gunakan. Para developer PHP berusaha sekuat tenaga untuk menjaga kompatibilitas ke belakang, sehingga skrip yang dibuat untuk versi lama akan berjalan mulus (idealnya) tanpa perubahan di versi PHP yang terbaru. Kenyataannya, beberapa perubahan memang harus dilakukan. </para> <para> Dua perubahan paling penting yang mempengaruhi kode-kode lama adalah: <itemizedlist> <listitem> <simpara> Array yang akan ditinggalkan <varname>$HTTP_*_VARS</varname> (yang harus dideklarasikan sebagai global ketika ingin digunakan dalam sebuah fungsi atau method). <link linkend="language.variables.superglobals">Array autoglobal</link> berikut dikenalkan pada PHP <ulink url="&url.php.release4.1.0;">4.1.0</ulink>. Yaitu: <varname>$_GET</varname>, <varname>$_POST</varname>, <varname>$_COOKIE</varname>, <varname>$_SERVER</varname>, <varname>$_FILES</varname>, <varname>$_ENV</varname>, <varname>$_REQUEST</varname>, dan <varname>$_SESSION</varname>. Array <varname>$HTTP_*_VARS</varname>, seperti <varname>$HTTP_POST_VARS</varname>, masih ada semenjak PHP 3. &avail.register-long-arrays; </simpara> </listitem> <listitem> <simpara> Variabel eksternal secara default tidak lagi didaftarkan dalam skop global. Dengan kata lain, sejak PHP <ulink url="&url.php.release4.2.0;">4.2.0</ulink> setelan awal direktif PHP <link linkend="ini.register-globals">register_globals</link> adalah <emphasis>off</emphasis> di &php.ini;. Cara yang paling disukai untuk mengakses nilai-nilai ini adalah melalui array autoglobal yang disebutkan di atas. Skrip-skrip lama, buku-buku, dan pelajaran-pelajaran mungkin masih sangat mengandalkan direktif ini diaktifkan. Apabila ia aktif, sebagai contoh, seseorang bisa menggunakan <varname>$id</varname> pada URL <literal>http://www.example.com/foo.php?id=42</literal>. Baik dalam kondisi on atau off, <varname>$_GET['id']</varname> akan selalu bisa dipakai. </simpara> </listitem> </itemizedlist> Untuk penjelasan ditel mengenai perubahan ini, simak bagian <link linkend="language.variables.predefined">predefined variables</link> dan kaitan-kaitan yang ada disitu. </para> </sect1> <sect1 id="tutorial.whatsnext"> <title>Selanjutnya Apa?</title> <para> Dengan pengetahuan baru Anda ini seharusnya Anda akan bisa memahami sebagian besar isi panduan dan juga berbagai contoh skrip dalam arsip contoh. Anda juga bisa mendapatkan contoh-contoh lain dari situs php.net bagian links: <ulink url="&url.php.links;">&url.php.links;</ulink>. </para> <para> Untuk membaca berbagai slide presentasi yang menunjukkan apa saja yang bisa dikerjakan oleh PHP, simak situs PHP Conference Material: <ulink url="&url.php.conf;"> &url.php.conf;</ulink> dan <ulink url="&url.php.talks;">&url.php.talks; </ulink>. </para> </sect1> </chapter> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t indent-tabs-mode:nil sgml-parent-document:nil sgml-default-dtd-file:"../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 -->