ฟังก์ชันใน PHP
PHP คืออะไร?
PHP เป็นภาษาจำพวก scripting
language คำสั่งต่างๆจะเก็บอยู่ในไฟล์ที่เรียกว่า สคริปต์ (script) และเวลาใช้งานต้องอาศัยตัวแปรชุดคำสั่ง
ตัวอย่างของภาษาสคริปต์ก็เช่น JavaScript, Perl เป็นต้น
ลักษณะของ PHP ที่แตกต่างจากภาษาสคริปต์แบบอื่นๆ
คือ PHP ได้รับการพัฒนาและออกแบบมา
เพื่อใช้งานในการสร้างเอกสารแบบHTML โดยสามารถสอดแทรกหรือแก้ไขเนื้อหาได้โดยอัตโนมัติ
ดังนั้นจึงกล่าวว่า PHPเป็นภาษาที่เรียกว่า server-side หรือ HTML-embedded scripting language เป็นเครื่องมือที่สำคัญชนิดหนึ่งที่ช่วยให้เราสามารถสร้างเอกสารแบบDynamic
HTML ได้อย่างมีประสิทธิภาพและมีลูกเล่นมากขึ้น
PHP ย่อมาจากคำว่า
"Personal Home Page Tool" เป็น Server
Side Script ที่มีการทำงานที่ฝั่งของเครื่องคอมพิวเตอร์ Server ซึ่งรูปแบบในการเขียนคำสั่งการทำงานนั้นจะมีลักษณะคล้ายกับภาษา Perl หรือภาษา C และสามารถที่จะใช้ร่วมกับภาษา HTML ได้อย่างมีประสิทธิภาพ
ซึ่งจะทำให้รูปแบบเว็บเพจมีความสามารถเพิ่มขึ้นในด้านของการเขียนโปรแกรม
ในการสร้างเว็บจะใช้ Script อยู่ 2 แบบด้วยกันคือ
- Server-Side Script เป็นลักษณะของภาษาที่ทำงานบนเครื่อง Server เช่นCGI, ASP
- Client-Side Script เป็นลักษณะของภาษาที่ทำงานบนเครื่องผู้ใช้เช่นJavaScript,
VBScript
การกำหนดฟังก์ชันและการเรียกฟังก์ชัน
การประกาศฟังก์ชันเริ่มต้นด้วยคีย์เวิร์ด function กำหนดชื่อฟังก์ชัน
พารามิเตอร์ที่ต้องการ และเก็บคำสั่งที่จะประมวลผลแต่ละครั้งเมื่อเรียกฟังก์ชันนี้
<?php
function function_name(parameter1,…)
{
ชุดคำสั่ง …
}
?>
ชุดคำสั่งต้องเริ่มต้นและสิ้นสุดในวงเล็บปีกกา ({ }) ตัวอย่างฟังก์ชัน my_function
<?php
function my_function()
{
$mystring =<<<BODYSTRING
my function ได้รับการเรียก
BODYSTRING;
echo $mystring;
}
?>
การประกาศฟังก์ชันนี้ เริ่มต้นด้วย function ดังนั้นผู้อ่านและตัวกระจาย PHP ทราบว่าต่อไปเป็นฟังก์ชันกำหนดเอง ชื่อฟังก์ชันคือ my_function การเรียกฟังก์ชันนี้ใช้ประโยคคำสั่งนี้
my_function ();
การเรียกฟังก์ชันนี้จะให้ผลลัพธ์เป็นข้อความ "my function ได้รับการเรียก " บน browser
<?php
function function_name(parameter1,…)
{
ชุดคำสั่ง …
}
?>
ชุดคำสั่งต้องเริ่มต้นและสิ้นสุดในวงเล็บปีกกา ({ }) ตัวอย่างฟังก์ชัน my_function
<?php
function my_function()
{
$mystring =<<<BODYSTRING
my function ได้รับการเรียก
BODYSTRING;
echo $mystring;
}
?>
การประกาศฟังก์ชันนี้ เริ่มต้นด้วย function ดังนั้นผู้อ่านและตัวกระจาย PHP ทราบว่าต่อไปเป็นฟังก์ชันกำหนดเอง ชื่อฟังก์ชันคือ my_function การเรียกฟังก์ชันนี้ใช้ประโยคคำสั่งนี้
my_function ();
การเรียกฟังก์ชันนี้จะให้ผลลัพธ์เป็นข้อความ "my function ได้รับการเรียก " บน browser
การตั้งชื่อฟังก์ชัน
สิ่งสำคัญมากในการพิจารณาเมื่อตั้งชื่อฟังก์ชันคือชื่อต้องสั้นแต่มีความหมาย
ถ้าฟังก์ชันสร้างส่วนตัวของเพจควรตั้งชื่อเป็น pageheader
() หรือ page_header ()
ข้อจำกัดในการตั้งชื่อคือ
-ฟังก์ชันไม่สามารถมีชื่อเดียวกับฟังก์ชันที่มีอยู่
-ชื่อฟังก์ชันสามารถมีได้เพียงตัวอักษรตัวเลข และ underscore
-ชื่อฟังก์ชันไม่สามารถเริ่มต้นด้วยตัวเลข
-หลายภาษายอมให้ใช้ชื่อฟังก์ชันได้อีก ส่วนการทำงานนี้เรียกว่า function overload อย่างไรก็ตาม PHP ไม่สนับสนุน function overload ดังนั้นฟังก์ชันไม่สามารถมีชื่อเดียวกันกับฟังก์ชันภายใน หรือฟังก์ชันกำหนดเองที่มีอยู่
หมายเหตุ ถึงแม้ว่าทุกสคริปต์ PHP รู้จักฟังก์ชันภายในทั้งหมด ฟังก์ชันกำหนดเองอยู่เฉพาะในสคริปต์ที่ประกาศสิ่งนี้หมายความว่า ชื่อฟังก์ชันสามารถใช้ในคนละไฟล์แต่อาจจะไปสู่ความสับสน และควรหลีกเลียง
ชื่อฟังก์ชันต่อไปนี้ถูกต้อง
name ()
name2 ()
name_three ()
_namefour ()
ชื่อไม่ถูกต้อง
5name ()
Name-six ()
fopen ()
การเรียกฟังก์ชันไม่มีผลจากชนิดตัวพิมพ์ ดังนั้นการเรียก function_name (), Function_Name() หรือ FUNCTION_NAME() สามารถทำได้และมีผลลัพธ์เหมือนกัน แต่แบบแผนการกำหนดชื่อฟังก์ชันใน PHP ให้ใช้ตัวพิมพ์เล็ก
ชื่อฟังก์ชันแตกต่างจากชื่อตัวแปร โดยชื่อตัวแปรเป็นชนิดตัวพิมพ์มีผล ดังนั้น $Name และ $name เป็น 2 ตัวแปร แต่ Name () และ name () เป็นฟังก์ชันเดียวกัน
ข้อจำกัดในการตั้งชื่อคือ
-ฟังก์ชันไม่สามารถมีชื่อเดียวกับฟังก์ชันที่มีอยู่
-ชื่อฟังก์ชันสามารถมีได้เพียงตัวอักษรตัวเลข และ underscore
-ชื่อฟังก์ชันไม่สามารถเริ่มต้นด้วยตัวเลข
-หลายภาษายอมให้ใช้ชื่อฟังก์ชันได้อีก ส่วนการทำงานนี้เรียกว่า function overload อย่างไรก็ตาม PHP ไม่สนับสนุน function overload ดังนั้นฟังก์ชันไม่สามารถมีชื่อเดียวกันกับฟังก์ชันภายใน หรือฟังก์ชันกำหนดเองที่มีอยู่
หมายเหตุ ถึงแม้ว่าทุกสคริปต์ PHP รู้จักฟังก์ชันภายในทั้งหมด ฟังก์ชันกำหนดเองอยู่เฉพาะในสคริปต์ที่ประกาศสิ่งนี้หมายความว่า ชื่อฟังก์ชันสามารถใช้ในคนละไฟล์แต่อาจจะไปสู่ความสับสน และควรหลีกเลียง
ชื่อฟังก์ชันต่อไปนี้ถูกต้อง
name ()
name2 ()
name_three ()
_namefour ()
ชื่อไม่ถูกต้อง
5name ()
Name-six ()
fopen ()
การเรียกฟังก์ชันไม่มีผลจากชนิดตัวพิมพ์ ดังนั้นการเรียก function_name (), Function_Name() หรือ FUNCTION_NAME() สามารถทำได้และมีผลลัพธ์เหมือนกัน แต่แบบแผนการกำหนดชื่อฟังก์ชันใน PHP ให้ใช้ตัวพิมพ์เล็ก
ชื่อฟังก์ชันแตกต่างจากชื่อตัวแปร โดยชื่อตัวแปรเป็นชนิดตัวพิมพ์มีผล ดังนั้น $Name และ $name เป็น 2 ตัวแปร แต่ Name () และ name () เป็นฟังก์ชันเดียวกัน
ความสามารถของภาษา PHP
เป็นสคริปต์แบบ Server Side Script ดังนั้นจึงทำงานบนเว็บเซิร์ฟเวอร์
ไม่ส่งผลกับการทำงานของเครื่อง Client โดย PHP จะอ่านโค้ด และทำงานที่เซิร์ฟเวอร์
จากนั้นจึงส่งผลลัพธ์ที่ได้จากการประมวลผลมาที่เครื่องของผู้ใช้ในรูปแบบของ HTML ซึ่งโค้ดของPHP นี้ผู้ใช้จะไม่สามารถมองเห็นได้
PHP สามารถทำงานได้ในระบบปฏิบัติการที่ต่างชนิดกัน เช่น Unix,
Windows, Mac OS หรือ Risc OS อย่างมีประสิทธิภาพ
เนื่องจาก PHP เป็นสคริปต์ที่ต้องทำงานบนเซิร์ฟเวอร์
ดังนั้นคอมพิวเตอร์สำหรับเรียกใช้คำสั่ง PHP จึงจำเป็นต้องติดตั้งโปรแกรมเว็บเซิร์ฟเวอร์ไว้ด้วย
เพื่อให้สามารถประมวลผล PHP ได้ PHP สามารถทำงานได้ในเว็บเซิร์ฟเวอร์หลายชนิด เช่น Personal Web
Server(PWS), Apache, OmniHttpd และ Internet
Information Service(IIS) เป็นต้น
ความสามารถของ PHP นั้น สามารถที่จะทำงานเกี่ยวกับ Dynamic
Web ได้ทุกรูปแบบ เหมือนกับ CGI หรือ ASP ไม่ว่าจะเป็นการดูแลจัดการระบบฐานข้อมูล
ระบบรักษาความปลอดภัยของเว็บเพจ การรับ - ส่ง Cookies เป็นต้น แต่ที่เป็นคุณสมบัติเด่นของPHP ก็น่าจะเป็นการติดต่อกับโปรแกรมจัดการระบบฐานข้อมูล
ที่มีอยู่มากมาย ซึ่งฐานข้อมูลที่ PHP สนับสนุนมีดังนี้
Adabas D InterBase
Solid Microsoft Access
dBase
mSQL
Sybase
Empress
MySQL
Velocis
FilePro
Oracle
Unix dbm
Informix
PostgreSQL SQL
Server
ข้อดีและข้อด้อยของ PHP
ข้อดีของฟังก์ชันPHP
- เมื่ออยู่บน linux,unix,solaris มันทำทำงานได้เร็วกว่า windows ประมาณเท่าตัว
- รูปแบบการเขียน ยืดหยุ่นมาก เขียนได้ทั้ง แบบ เก่า ตือ HTML +code หน้าเดียว หรือแบบใหม่ HTML แยกกันกับ Code ,OOP
- สามารถเขียนได้ ทั้ง win app (ยากฉิบหาย),batch script ,web app ,ล่าสุดมีคนพยายามทำให้มันเป็นเหมือน java นั่นคือ เอา php code ไปรันบน platform ไหนก็ได้
- มี framework ช่วยพัฒนาเยอะมาก
- อะไรที่ .net หรือ java มี เดี๋ยว php ก็มี ตาม (บางอย่าง .net ,java ก็มาลอก php ไป) เจ๊ากัน
- เป็นที่นิยมในสถาบันการศึกษา เพราะฟรี
ข้อเสียของฟังก์ชันPHP
- บางทีออก version ใหม่บ่อยเกินไป
- การเขียนบางที ต้อง include เยอะแยะไปหมด
- ไม่มี บ. software ใหญ่ๆ เป็นป๋าดันให้ เลยไม่ดังเปรี้ยง แต่ค่อยๆดังเพราะทำความดี สะสม
- การเขียนติดต่อระดับ component หรือ COM+ ของ windows อาจต้อง config ยุ่งยากหน่อย (ไม่เคยเขียน)
- ใช้ IE เปิด web php.net ใน เครือข่าย kku แล้ว download php ยากมาก
ประโยชน์ที่ได้รับจาก PHP
ในปัจจุบัน Web Site ต่างๆได้มีการพัฒนาในด้านต่างๆ อย่างรวดเร็ว เช่น
เรื่องของความสวยงามและแปลกใหม่ การบริการข่าวสารข้อมูลที่ทันสมัย เป็นสื่อกลางในการ
ติดต่อ และสิ่งหนึ่งที่กำลังได้รับความนิยม เป็นอย่างมากซึ่ง ถือได้ว่าเป็นการปฏิวัติรูปแบบ
การขายของก็คือ E-commerce ซึ่งเจ้าของสินค้าต่างๆ ไม่จำเป็นต้องมีร้านค้าจริงและ
ไม่จำเป็นต้องจ้างคนขายของอีกต่อไป ร้านค้าและตัวสินค้านั้น จะไปปรากฏอยู่บน Web
Site แทน และการซื้อขายก็เกิดขึ้นบนโลกของ Internet แล้ว PHP ช่วยเราให้เป็น
เจ้าของร้านบน Internet ได้อย่างไร PHP เป็นภาษาสคริปต์ที่มีความสามารถสูง
สำหรับการพัฒนา Web Site และความสามารถที่โดดเด่นอีกประการหนึ่งของ PHP
คือ database enabled web page ทำให้เอกสารของ HTML สามารถที่
จะเชื่อมต่อกับระบบฐานข้อมูล (database) ได้อย่างมีประสิทธิภาพและรวดเร็ว จึงทำให้
ความต้องการในเรื่องการจัดรายการสินค้าและรับรายการสั่งของตลอดจนการจัดเก็บ
ข้อมูลต่างๆ ที่สำคัญผ่านทาง Internet เป็นไปได้อย่างง่ายดาย
ในปัจจุบัน Web Site ต่างๆได้มีการพัฒนาในด้านต่างๆ อย่างรวดเร็ว เช่น
เรื่องของความสวยงามและแปลกใหม่ การบริการข่าวสารข้อมูลที่ทันสมัย เป็นสื่อกลางในการ
ติดต่อ และสิ่งหนึ่งที่กำลังได้รับความนิยม เป็นอย่างมากซึ่ง ถือได้ว่าเป็นการปฏิวัติรูปแบบ
การขายของก็คือ E-commerce ซึ่งเจ้าของสินค้าต่างๆ ไม่จำเป็นต้องมีร้านค้าจริงและ
ไม่จำเป็นต้องจ้างคนขายของอีกต่อไป ร้านค้าและตัวสินค้านั้น จะไปปรากฏอยู่บน Web
Site แทน และการซื้อขายก็เกิดขึ้นบนโลกของ Internet แล้ว PHP ช่วยเราให้เป็น
เจ้าของร้านบน Internet ได้อย่างไร PHP เป็นภาษาสคริปต์ที่มีความสามารถสูง
สำหรับการพัฒนา Web Site และความสามารถที่โดดเด่นอีกประการหนึ่งของ PHP
คือ database enabled web page ทำให้เอกสารของ HTML สามารถที่
จะเชื่อมต่อกับระบบฐานข้อมูล (database) ได้อย่างมีประสิทธิภาพและรวดเร็ว จึงทำให้
ความต้องการในเรื่องการจัดรายการสินค้าและรับรายการสั่งของตลอดจนการจัดเก็บ
ข้อมูลต่างๆ ที่สำคัญผ่านทาง Internet เป็นไปได้อย่างง่ายดาย
รายการระบบฐานข้อมูลที่ PHP สามารถเชื่อมต่อได้คือ
Oracle, Sybase, mSQL, MySQL, SOLID,
ODBC,
PostgreSQL, Adabas D, FilePro,
Velocis, Informix, dbase, Unix dbm