Apichart Nakarungutti
The Cake is a Lie
ในการทำงานกับ PHP สามารถใช้เพียง Text Editor ต่าง ๆ (แต่ต้องเป็น Plain Text Editor เป็นพวก Word Processor อย่าง MS Office Word อันนี้ใช้ไม่ได้) แต่ถ้ามี Syntax Hilighter ก็จะช่วยให้มองโค้ดได้ง่ายขึ้น อย่างเช่น Notepad2-Mod, Notepad++, gEdit (GNOME), Kate (KDE) หรือ Vim (เว็บเรามีสอนใช้ Vim ด้วยนะ) เป็นต้น
แต่ถ้าต้องการความสามารถเพิ่มขึ้นอย่างการจัดการโค้ด และ Auto Complete ก็มีโปรแกรมที่เป็น IDE อย่าง eclipse+PDT หรือ Netbean อันนี้ขึ้นอยู่กับความชอบ ความต้องการของแต่ละคน
นอกจากโปรแกรมฟรี และโปรแกรมโอเพนซอร์สที่พูดมาข้างต้น ยังมีโปรแกรมที่เป็นลิขสิทธิ์อีกหลายโปรแกรม ซึ่งมีความสามารถแตกต่างกันไปให้เลือกอีกมากมาย
เมื่อมีเครื่องมือเขียนโค้ดแล้ว ก็ต้องมีที่ไว้รันโค้ด อาจจะเป็นโฮสต์ที่รองรับ PHP ที่มีอยู่แล้ว หรือจะทดสอบบนเครื่องตัวเองก็มีโปรแกรมเว็บเซิฟเวอร์อยู่
บน Windows สามารถใช้ AppServ หรือ XAMPP (Portable) หรือ Zend Server CE
ส่วนบน ลินุกซ์ ให้ติดตั้ง Apache, PHP, MySQL Server (สำหรับฐานข้อมูล) (โดยทั่วไปจะเรียกรวมว่า LAMP) ผ่านทาง Package Manager ได้โดยตรง (สะดวกซะ)
ถ้าบน Mac OSX ก็มี MAMP
ถ้าใครใช้ Windows แต่อยากได้สภาพแวดล้อมเป็นลินุกซ์ สามารถที่จะติดตั้ง VM อย่าง Virtual Box แล้วติดตั้งลินุกซ์ (แบบไม่มี GUI) ตั้งค่านิดหน่อย แล้วใช้เป็น Web Server เพื่อทดสอบก็ได้เช่นกัน
การเขียนโค้ดตามภาษาต่าง ๆ จะมีข้อบังคับ ซึ่งทุกคนต้องปฏิบัติตาม ถ้าไม่ปฏิบัติตามโค้ดจะรันไม่ผ่าน และมาตรฐานการเขียนโค้ด ซึ่งถึงไม่ปฏิบัติตามโค้ดก็ยังทำงานได้ตามปกติ
มาตรฐานโค้ดมีไว้เพื่อให้การอ่านโค้ด และนักพัฒนาทำงานร่วมกันได้ง่ายขึ้น แต่ทั้งนี้ทั้งนั้น มาตรฐานของแต่ละที่อาจจะไม่เหมือนกัน อันนี้ขึ้นอยู่กับกลุ่ม และบริษัทที่เราอยู่ เช่น มาตรฐานโค้ดของ Drupal จะไม่เหมือนกับของ WordPress และทั้งคู่ก็ไม่ตรงกับมาตรฐานของ PHP
การที่เราจะยึดมาตรฐานใดในการทำงาน ก็ต้องดูว่า เราทำงานกับกลุ่มไหน ก็ให้ยึดมาตรฐานของกลุ่มนั้น ถ้าในบริษัทก็ควรจะมีข้อตกลงของบริษัทนั้น ๆ โค้ดที่ได้จะเหมือน ๆ กันทั้งหมด แต่ถ้าตั้งกลุ่มขึ้นมาเอง ก็หาข้อตกลงกันในกลุ่มเสีย ส่วนทำงานคนเดียว ก็ต้องใช้มาตรฐานเดียวกันในทุก ๆ โปรเจ็ค
แต่ก็ใช่ว่า มันจะเปลี่ยนแปลงไม่ได้เลย วันเวลาเปลี่ยนไป อาจจะถึงเวลาเปลี่ยนมาตรฐานกันบ้าง ก็ไม่แปลกอะไร ยึดหลัก แต่อย่ายึดติด
ก่อนจะเขียน PHP จะต้องมีแท็กเปิดก่อน ซึ่งที่นิยมกันจะมี <?php
และ <?
ส่วนตัวแนะนำให้ใช้แบบเต็มคือ <?php
ถ้าต้องการปิดแท็กก็ใช้ ?>
แต่ถ้าไฟล์นั้นทั้งไฟล์เป็น PHP หรือ โค้ดส่วนท้ายไฟล์เป็น PHP แนะนำให้ไม่ต้องใส่ ?>
ในส่วนท้ายไฟล์ เพราะหากมี ช่องว่าง ไม่ว่าจะเป็น แท็บ วรรค หรือบรรทัดเปล่า ๆ เกินมา อาจจะสร้างปัญหา เช่น
ทั้งนี้ทั้งนั้น สิ่งเหล่านี้ขึ้นอยู่กับปัจจัยหลายอย่าง ทั้งเซิฟเวอร์ เบราว์เซอร์ รวมทั้งรุ่นของ PHP ที่ใช้ แต่ถือว่าเป็น หลักในการเขียนโค้ด PHP ที่ดี (แนะนำให้ทำแบบนี้ แต่จะไม่ทำตามก็ได้ ประมาณนั้น)
<?php inline_function(); ?>
<?php
multi_line();
// with comment
?>
<?php
// end of file
print_notice();
print_copyright();
// omit close tag
รูปแบบการคอมเม้นต์โคดใน PHP ไม่ต่างกับภาษาอื่นมากนัก
<?php
// ใช้คอมเมนต์บรรทัดเดียว
# ใช้คอมเมนต์บรรทัดเดียว (ไม่ค่อยนิยมสักเท่าไหร่...)
/* ใช้คอมเมนต์แบบ
หลายบรรทัด */
นอกจากนี้ยังมี PHPDoc ที่ใช้ในการอธิบายการทำงานของ Class/Function จะใช้ /** */
การเขียน PHPDoc จะช่วยให้โปรแกรม IDE สามารถดึงข้อมูลส่วนนี้ไปแสดงเวลาเรียกใช้ฟังชั่นได้ด้วย
<?php
/**
* Print mood in Valentine's day.
*/
function valentine_mood( $status )
{
if ( 'single' != $status )
{
echo 'Happy Happy!';
}
}
ถ้าต้องการคอมเมนต์โค้ดที่ยาว ๆ ซับซ้อน เพื่อการทดสอบการทำงาน ไม่แนะนำให้ใช้รูปแบบการคอมเมนต์แบบด้านบน แต่ให้ใช้ if (0) { ส่วนที่ต้องการคอมเมนต์ }
แทน เพราะถ้ามีคอมเมนต์อยู่ในโค้ดก็ไม่ต้องสั่งคอมเมนต์หลาย ๆ รอบ
<?php
$love_word = 'I love you.';
$third_hand = 'rich, gentle and handsome guy';
if (0) { // test start, if no third hand
// Third hand
if ( !empty( $third_hand ) )
{
// Change mind
$love_word = 'Sorry, I love him.';
}
} // test end, if no third hand
echo $love_word;
(ตัวอย่างไม่ซับซ้อนเท่าไหร่เลย…)