ฟังก์ชันใน PHP

ฟังก์ชันใน PHP
ฟังก์ชันในโปรแกรมส่วนใหญ่ได้รับการเรียกคำสั่งเพื่อทำงานอย่างเดียว สิ่งนี้ทำให้คำสั่งอ่านได้ง่ายและยอมให้ใช้คำสั่งใหม่แต่ละครั้งเมื่อต้องการทำงานเดียวกัน
ฟังก์ชันเป็นโมดูลเก็บคำสั่งที่กำหนดการเรียกอินเตอร์เฟซ ทำงานเดียวกัน และตัวเลือกส่งออกค่าจากการเรียกฟังก์ชัน คำสั่งต่อไปเป็นการเรียกฟังก์ชันอย่างง่าย
my_function ();
คำสั่งเรียกฟังก์ชันชื่อ my_function ที่ไม่ต้องการพารามิเตอร์ และไม่สนใจค่าที่อาจจะส่งออกโดยฟังก์ชันนี้
ฟังก์ชันจำนวนมากได้รับการเรียกด้วยวิธีนี้ เช่น ฟังก์ชัน phpinfo () สำหรับแสดงเวอร์ชันติดตั้งของ PHP สารสนเทศเกี่ยวกับ PHP การตั้งค่าแม่ข่ายเว็บ ค่าต่างๆ ของ PHP และตัวแปร ฟังก์ชันนี้ไม่ใช้พารามิเตอร์และโดยทั่วไปไม่สนใจค่าส่งออก ดังนั้นการเรียก phpinfo () จะประกอบขึ้นดังนี้
phpinfo ();

การกำหนดฟังก์ชันและการเรียกฟังก์ชัน
การประกาศฟังก์ชันเริ่มต้นด้วยคีย์เวิร์ด 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
การตั้งชื่อฟังก์ชัน
สิ่งสำคัญมากในการพิจารณาเมื่อตั้งชื่อฟังก์ชันคือชื่อต้องสั้นแต่มีความหมาย ถ้าฟังก์ชันสร้างส่วนตัวของเพจควรตั้งชื่อเป็น 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 () เป็นฟังก์ชันเดียวกัน

โปรแกรม SQL


SQL ย่อมาจาก structured query language คือภาษาที่ใช้ในการเขียนโปรแกรม เพื่อจัดการกับฐานข้อมูลโดยเฉพาะ เป็นภาษามาตราฐานบนระบบฐานข้อมูลเชิงสัมพันธ์และเป็นระบบเปิด (open system) หมายถึงเราสามารถใช้คำสั่ง sql กับฐานข้อมูลชนิดใดก็ได้ และ คำสั่งงานเดียวกันเมื่อสั่งงานผ่าน  ระบบฐานข้อมูลที่แตกต่างกันจะได้ ผลลัพธ์เหมือนกัน ทำให้เราสามารถเลือกใช้ฐานข้อมูล ชนิดใดก็ได้โดยไม่ติดยึดกับฐานข้อมูลใดฐานข้อมูลหนึ่ง นอกจากนี้แล้ว SQL ยังเป็นชื่อโปรแกรมฐานข้อมูล ซึ่งโปรแกรม SQL เป็นโปรแกรมฐานข้อมูลที่มีโครงสร้างของภาษาที่เข้าใจง่าย ไม่ซับซ้อน มีประสิทธิภาพการทำงานสูง สามารถทำงานที่ซับซ้อนได้โดยใช้คำสั่งเพียงไม่กี่คำสั่ง โปรแกรม SQL จึงเหมาะที่จะใช้กับระบบฐานข้อมูลเชิงสัมพันธ์ และเป็นภาษาหนึ่ง ซึ่งแบ่งการทำงานได้เป็น 4 ประเภท ดังนี้
1. Select query ใช้สำหรับดึงข้อมูลที่ต้องการ
2. Update query ใช้สำหรับแก้ไขข้อมูล
3. Insert query ใช้สำหรับการเพิ่มข้อมูล
4. Delete query ใช้สำหรับลบข้อมูลออกไป
     ปัจจุบันมีซอฟต์แวร์ระบบจัดการฐานข้อมูล (DBMS ) ที่สนับสนุนการใช้คำสั่ง SQL เช่น  Oracle , DB2, MS-SQL, MS-Access
นอกจากนี้ภาษา SQL ถูกนำมาใช้เขียนร่วมกับโปรแกรมภาษาต่างๆ เช่น ภาษา c/C++ , VisualBasic และ Java 

ประโยชน์ของภาษา SQL
1. สร้างฐานข้อมูลและ ตาราง  
2. สนับสนุนการจัดการฐานข้อมูล ซึ่งประกอบด้วย การเพิ่ม การปรับปรุง และการลบข้อมูล
3. สนับสนุนการเรียกใช้หรือ ค้นหาข้อมูล  
  
ประเภทของคำสั่งภาษา SQL
1. ภาษานิยามข้อมูล(Data Definition Language : DDL) เป็นคำสั่งที่ใช้ในการสร้างฐานข้อมูล กำหนดโครงสร้างข้อมูลว่ามี  Attribute ใด
 ชนิดของข้อมูล รวมทั้งการเปลี่ยนแปลงตาราง และการสร้างดัชนี คำสั่ง : CREATE,DROP,ALTER
2. ภาษาจัดการข้อมูล (Data Manipulation Language :DML) เป็นคำสั่งที่ใช้ในการเรียกใช้ เพิ่ม ลบ และเปลี่ยนแปลงข้อมูลในตาราง    คำสั่ง : SELECT,INSERT,UPDATE,DELETE
3. ภาษาควบคุมข้อมูล (Data Control Language : DCL) เป็นคำสั่งที่ใช้ในการกำหนดสิทธิการอนุญาติ หรือ ยกเลิก การเข้าถึงฐานข้อมูล เพื่อป้องกันความปลอดภัยของฐานข้อมูล คำสั่ง : GRANT,REVOKE


ข้อมูลอ้างอิง
www.satit.su.ac.th
www.chandra.ac.th
www.softwaresiam.com

โปรแกรม dBase


          ดีเบส, โปรแกรมฐานข้อมูลหรือแฟ้มชนิดหนึ่งที่โปรแกรมนั้นสร้างขึ้นมา ระบบจัดการฐานข้อมูลระบบนี้เป็นมาตรฐานอุตสาหกรรมไปแล้ว ซึ่งบริษัท Ashton-Tate เป็นผู้พัฒนา ตัวดีเบสเองเป็นชื่อที่จดลิขสิทธิ์ของโปรแกรมฐานข้อมูลโปรแกรมแรกที่นิยมมาก แต่ถึงอย่างไร ดีเบสก็ไม่ใช่ฐานข้อมูลเชิงสัมพันธ์จริงๆ ซึ่งต่างจากโปรแกรมจัดการฐานข้อมูลในปัจจุบัน โปรแกรมนี้เริ่มมีขึ้นบนเครื่องซีพี/เอ็มรุ่มเก่าเรียกว่า วัลคัน” (Vulcan) จากนั้นจึงกลายเป็น ดีเบสทรี ดีเบสโฟร์ และบริษัทที่ขายดีเบสได้หายออกไปจากธุรกิจแล้วโดยบอร์แลนด์ได้ซื้อกิจการไปในปี 1991 แต่โปรแกรมฐานข้อมูลอื่นๆ ก็ยังเกิดขึ้นมา โปรแกรมดีเบสยังคงมีใช้ต่อไปอย่างกว้างขวาง และเป็นรูปแบบของแฟ้มที่ยังนิยมใช้อยู่ในปัจจุบัน
เป็นโปรแกรมจัดการฐานข้อมูลที่ทำงานบน DOS เป็นโปรแกรมที่ใช้งานง่าย      มีเครื่องมืออำนวยความสะดวกต่อการเขียนโปรแกรม เช่น Report, Screen และLabel เป็นต้น  และข้อมูลรายงานที่อยู่ในไฟล์บน Dbase  จะสามารถประมวลผลในโปรแกรม Word Processor ได้  รวมถึง Excel ก็สามารถอ่านไฟล์ .DBF ที่สนร้างขึ้นโดยโปรแกรม Dbase ได้ด้วย สามารถนำไปประยุกต์ใช้งานได้อย่างกว้างขวาง  มีการพัฒนาขึ้นเป็นลำดับเริ่มจาก Dbase I ใช้กับเครื่องคอมพิวเตอร์ 8 บิต  โดยที่ระยะแรกเครื่อง 16 บิต      ยังไม่แพร่หลายและยังมีราคาแพงอยู่  ต่อมาเมื่อมีผู้เริ่มใช้เครื่อง 16 บิตมากขึ้น  จึงมีการพัฒนา Dbase II ให้สามารถใช้กับเครื่อง 16 บิตได้  เมื่อความนิยมและความสามารถของเครื่อง 16 บิตมากขึ้น  จึงได้มีการปรับปรุงให้มีความสามารถมากขึ้น  มีการแก้ไขเพิ่มเติมคำสั่งและฟังก์ชั่นต่างๆ เป็น Dbase III และ Dbase III PLUS ตามลำดับ  ภายหลังเมื่อ       มีการใช้งาน Windows กันอย่างแพร่หลาย Dbase ก็มีการพัฒนาให้สามารถใช้งานบน Windows ได้ด้วย

โปรแกรม FoxPro


โปรแกรม FoxPro  เป็นโปรแกรมที่ถูกออกแบบมาให้ทำงานเกี่ยวกับการจัดการข้อมูล ซึ่งจะอำนวยความสะดวกให้เรา สามารถป้อนข้อมูลเข้าไปเก็บไว้ในระบบคอมพิวเตอร์ได้อย่าง่ายดาย รวมทั้งสามารถเรียกข้อมูลเหล่านั้นกลับมาแก้ไข ปรับปรุง เพิ่มข้อมูล ลบข้อมูล หรือค้นหาข้อมูลบางรายการ ตลอดจนจัดข้อมูลเหล่านั้นให้อยู่ในรูปที่สามารถนำไปใช้ประโยชนืได้โดยง่าย เช่น การเรียงลำดับข้อมูล  กรอง หรือ แยกเอาเฉพาะข้อมูลบางส่วนที่สนใจมาใช้งาน หรือสรุปผลบางอย่าง เช่น หาผลรวม  นับจำนวน ได้อย่างสะดวก รวดเร็ว
         การจัดเก็บข้อมูลในคอมพิวเตอร์ทั่วไป จะทำได้ในลักษณะเดียวกับการจัดเก็บข้อมูลในสำนักงานต่างๆ กล่าวคือ จะมีการนำข้อมูลที่เกี่ยวข้องกันมาเก็บรวมกันไว้เป็นแฟ้ม  ซึ่งเราเรียกแฟ้มต่างๆเหล่านี้ว่า "แฟ้มข้อมูล (Data File) "


ประวัติ
          สำหรับประวัติของเจ้า Foxpro นั้น เป็นโปรแกรมจัดการฐานข้อมูลตัวหนึ่ง ซึ่งพัฒนาขีดความสามารถเพิ่มเติมขึ้นมาจาก dBASEII ในยุคที่ทำงานบนเครื่อง APPLE โดย แอสตัน เทด ในยุคเมื่อสามสิบปีก่อนหน้านี้ และได้รับความนิยมอย่างมากในหมู่นักพัฒนา Application แต่ความเร็วในการทำงานต่ำ จึงมีผู้พัฒนาขีดความสามารถของเจ้าตัวนี้ไปเรื่อย ๆ เพิ่มคำสั่งใหม่ ๆ เข้ามา และในที่สุดก้อจบที่ Foxbase
         ต่อมา ทาง Microsoft เห็นว่า แม้จะออก Access มาในชุด Office แต่กลุ่มคนโบราณ ยังคงผูกพันเหนียวแน่นกับชุดคำสั่งแบบ dBASE อยู่ จึงได้ตัดสินใจซื้อบริษัท Fox เนี่ยซะเลย แล้วเอามาพัฒนาต่อ เพิ่มขีดความสามารถในการทำงานบน Windows & Visual ขึ้นมา จึงเป็นที่มาของ Microsoft Visual FoxPro ที่คุณ BABORCLUB พูดถึงนั่นแหละครับแต่ อย่างไรก็ดี Foxpro[VFP] ก็ถือว่าเป็นลูกเมียน้อยแหละครับ เพราะ Microsoft ไปซื้อมาทำต่อไม่ใช่
ลูกเมียหลวงแบบ Access ที่ Microsoft ทำเองมากับมือ ดังนั้น การพัฒนา Version ต่อ ๆ มาของ VFP ก้อลดน้อยถอยลง ไม่เหมือน Access ที่มี Version ใหม่ออกมาเรื่อยๆ เค้าคงกะจะให้ พวก Programmer รุ่นเก่า ๆ ทะยอยตายไปจนหมดน่ะครับ 
         ดังนั้น คนรุ่นใหม่ๆ จึงใช้ Access เป็น และเก่งรวมทั้งแทบไม่รู้จัก Foxpro กันเอาซะเลยน่ะ


ลักษณะโปรแกรมที่เขียนโดยฟ๊อกซ์โปรในดอส











ไมโครซอฟท์ แอคเซส

         ไฟล์ฐานข้อมูลของ Access จะเป็นชิ้นงานหรือออบเจ็คฐานข้อมูล (database
object) ซึ่งผู้ใช้สร้างขึ้นทั้งหมดและจะถูกเก็บรวมกันไว้ในไฟล์ฐานข้อมูล
.accdb ทำให้การเรียกใช้หรือแก้ไขทำได้ง่าย สำหรับออบเจ็คฐานข้อมูลจะมี
ทั้งหมด 6 ประเภท
1) Table
2) Query
3) Form
4) Report
5) Macro

6) Module เป็นออบเจ็คที่ใช้เก็บข้อมูล


1) Table เป็นออบเจ็คที่ใช้เก็บข้อมูลจริง โดยคุณสามารถทำงานร่วมกับ Table ผ่าน
ตารางข้อมูลที่เรียกว่า Datasheet เช่น การ Insert, Update, Delete โดยใน 1
Table จะต้องเก็บข้อมูลที่เป็นหนึ่งความสัมพันธ์เท่านั้นหรือเรื่องเดียวเท่านั้น
เช่น  Table Employee
   · ชื่อ
   · นามสกุล
   ·  แผนก
   · วันที่เข้าทำงาน
   · ที่อยู่
ซึ่งในฐานข้อมูลจะต้องมี Table อย่างน้อย 1 Table เสมอ เนื่องจาก
Table เป็นส่วนที่ใช้เก็บข้อมูลจริง จึงเป็นออบเจ็คที่มีความสำคัญสูงสุด เพราะจะ
ถูกนำไปใช้เป็นแหล่งข้อมูลของออบเจ็คอื่นๆ เช่น Form และ Report ด้วย

2) Query  เป็นออบเจ็คที่ช่วยให้คุณสามารถทำงานในลักษณะของการสืบค้น จัดการ
(Insert, Update, Delete) และประมวลผลข้อมูลจาก Table หรือจาก Query
ด้วยกันเอง แล้วแสดงผลลัพธ์แบบตาราง ซึ่งข้อมูลนี้อาจดึงมาทั้งหมดหรือ
เพียงบางส่วนจาก 1 Table หรือจากหลายๆ Table พร้อมกันได้ โดยอยู่
ภายใต้เงื่อนไขที่กำหนดไว้ นอกจากนี้คุณยังนำQuery มาเป็นแหล่งข้อมูล
ของ Form และ Report ได้เช่นเดียวกับ Table

3) Form เป็นออบเจ็คที่ใช้จัดการข้อมูลบนจอภาพ และสร้างส่วนติดต่อกับผู้ใช้ได้อย่าง
มืออาชีพ โดยนำองค์ประกอบที่เรียกว่า คอนโทรล ( control ) เช่น ปุ่มคำสั่ง
รูปภาพ และอื่นๆ มาประกอบกันเป็นรูปแบบที่ตรงกับความต้องการของผู้ใช้
เพื่อช่วยให้การทำงานร่วมกับข้อมูลมีความถูกต้อง ปลอดภัย และตรงกับ
วัตถุประสงค์มากที่สุด เช่น สามารถกำหนดรหัสผ่านเพื่อเข้าสู่ระบบการ
ทำงานให้กับผู้ใช้แต่ละคน การนำForm มาสร้างเมนูเพื่อให้ผู้ใช้เข้าทำงานใน
ส่วนที่ต้องการได้อย่างรวดเร็ว

ตัวอย่าง Form ของ Microsoft Access


4) Report เป็นออบเจ็คที่นำเสนอข้อมูลในรูปของเอกสารรายงาน โดยคุณสามารถ
กำหนดรูปแบบให้ตรงกับความต้องการได้หลายวิธี เช่น เลือกใช้รายงาน
สำเร็จรูปของ Access 2010 ที่แก้ไขปรับปรุงได้จนกว่าจะพอใจ หรือจะ
ออกแบบและสร้างด้วยตัวเองทั้งหมดก็ได้ โดยนำคอลโทรลต่างๆมาประกอบ
กันเป็นรูปแบบที่ต้องการได้ เช่นเดียวกับ Form สามารถแสดง Report บน
จอภาพก่อนสั่งพิมพ์ลงกระดาษ ลักษณะเฉพาะของ Report ที่ต่างจาก Form
ก็คือใช้สำหรับการรายงานผลเพียงอย่างเดียวเท่านั้น จะใช้เพื่อแก้ไข
เปลี่ยนแปลงข้อมูลใดๆ ในแหล่งข้อมูลของ Report นั้นไม่ได้

ตัวอย่าง Report ของ Microsoft Access


5) Macro  เป็นออบเจ็คที่เก็บรวบรวมชุดคำสั่งหรือการกระทำต่างๆตามแต่ผู้ใช้จะกำหนด
โดยคำสั่งเหล่านี้จะถูกจัดลำดับหรือจัดกลุ่มตามลำดับขั้นตอนในการท างานที่
เกี่ยวข้องกับออบเจ็คในฐานข้อมูลนั้น โดยผู้ใช้สามารถเก็บบันทึกชุดคำสั่ง
ทั้งหมดที่จะต้องใช้สำหรับการทำงานนั้นๆไว้ในฐานข้อมูล เมื่อจะต้องทำงาน
นั้นอีกในภายหลัง ก็สั่งรัน Macro ให้ทำงานแทนคุณได้ เหมือนการทำงานของ
Macro ใน Word และ Excel ข้อดีของ Macro คือ ช่วยให้การท างานสะดวก
ขึ้น เนื่องจากผู้ใช้ไม่ต้องสั่งให้ Access ท างานทีละคำสั่งซ้ำๆกันด้วยตัวเองทุก
ครั้ง

6) Module เป็นออบเจ็คที่ใช้เก็บข้อมูล เป็นออบเจ็คที่ใช้สร้างและเก็บโปรแกรมย่อยที่เขียนด้วยภาษา VBA( Visual Basic for Application) ซึ่งจะช่วยให้คุณทำงานที่มีความซับซ้อนมากๆ ซึ่งไม่สามารถนำ Macro มาช่วยได้ เช่น การตรวจจับข้อผิดพลาดที่เกิดจากการประมวลผล ( Error Trapping) VBA เป็นภาษามาตรฐานที่เสริมการทำงานของโปรแกรมในชุด Microsoft Office เช่น Word, Excel และ Access มีรูปแบบภาษาและการใช้งานเช่นเดียวกับภาษาและการใช้งานเช่นเดียวกับภาษา Visual Basic ซึ่งเป็นภาษาที่ใช้พัฒนาโปรแกรมที่ได้รับความนิยมมากที่สุดภาษาหนึ่ง