Dev to webs {Coding…}

เรียนรู้การพัฒนาซอฟเวอร์ เพื่อความรู้ที่ยั่งยืน

บทที่ 5: การใช้งานคอนแสตนต์ใน PHP

1. คอนแสตนต์ (Constant) ใน PHP คืออะไร

คอนแสตนต์ (Constant) ใน PHP เป็นตัวแปรที่ไม่สามารถเปลี่ยนแปลงค่าได้หลังจากที่ถูกกำหนดครั้งแรก โดยมีคุณสมบัติต่างจากตัวแปรทั่วไป คือ

  • ไม่ต้องขึ้นต้นด้วย $ เหมือนตัวแปรปกติ
  • ค่าที่เก็บไว้จะคงที่และไม่สามารถเปลี่ยนแปลงระหว่างการทำงานของโปรแกรม
  • มักใช้เก็บค่าที่เป็นค่าคงที่ เช่น ค่าภาษี อัตราดอกเบี้ย หรือตัวเลขที่ไม่เปลี่ยนแปลงในโปรแกรม

คอนแสตนต์มีประโยชน์ในการเก็บข้อมูลที่ต้องการใช้งานซ้ำๆ ในโปรแกรมโดยไม่ให้เปลี่ยนแปลง ซึ่งช่วยเพิ่มความชัดเจนและลดความผิดพลาดในการใช้งาน


2. การสร้างคอนแสตนต์ใน PHP

ใน PHP การสร้างคอนแสตนต์ทำได้โดยใช้ฟังก์ชัน define() ซึ่งใช้สองพารามิเตอร์หลัก ได้แก่ ชื่อคอนแสตนต์และค่าของคอนแสตนต์

รูปแบบการใช้งาน define():

define("CONSTANT_NAME", value);

ตัวอย่างการสร้างคอนแสตนต์:

<?php
define("SITE_NAME", "MyWebsite");
define("TAX_RATE", 0.07);
?>

ในตัวอย่างนี้:

  • SITE_NAME เป็นคอนแสตนต์ที่เก็บชื่อเว็บไซต์
  • TAX_RATE เป็นคอนแสตนต์ที่เก็บค่าภาษีซึ่งเป็นเลขทศนิยม

2.1 การตั้งชื่อคอนแสตนต์

ตามมาตรฐานการตั้งชื่อใน PHP คอนแสตนต์มักจะตั้งชื่อด้วยตัวพิมพ์ใหญ่ทั้งหมดเพื่อให้ง่ายต่อการจดจำและแยกแยะจากตัวแปรทั่วไป ตัวอย่างเช่น DATABASE_NAME, MAX_USER, DEFAULT_LANGUAGE


3. คุณสมบัติของคอนแสตนต์

คอนแสตนต์ใน PHP มีคุณสมบัติดังนี้:

  • ไม่ต้องใช้เครื่องหมาย $: คอนแสตนต์ไม่จำเป็นต้องใช้ $ นำหน้าชื่อ
  • การเข้าถึงแบบสากล (Global): คอนแสตนต์สามารถเข้าถึงได้จากทุกที่ในโปรแกรม ไม่ว่าจะอยู่ในฟังก์ชันหรือโครงสร้างใดๆ
  • ค่าคงที่: คอนแสตนต์ไม่สามารถเปลี่ยนแปลงค่าได้หลังจากถูกกำหนดค่าแล้ว

4. การใช้งานคอนแสตนต์ใน PHP

คอนแสตนต์ใช้ประโยชน์ในการเก็บค่าคงที่ที่จำเป็นต้องเรียกใช้หลายครั้งในโปรแกรม โดยไม่ต้องเสี่ยงต่อการเปลี่ยนแปลงค่าโดยบังเอิญ ตัวอย่างการใช้งานคอนแสตนต์มีดังนี้:

4.1 การใช้งานคอนแสตนต์สำหรับข้อมูลที่ไม่เปลี่ยนแปลง

ตัวอย่างการกำหนดค่าภาษีและใช้ในการคำนวณราคาสินค้ารวมภาษี:

<?php
define("TAX_RATE", 0.07);  // กำหนดค่าภาษีคงที่

$price = 100;
$total = $price + ($price * TAX_RATE);  // คำนวณราคารวมภาษี
echo "ราคารวมภาษี: $total บาท";
?>

ในตัวอย่างนี้:

  • TAX_RATE ใช้ในการคำนวณภาษี ไม่ว่าคำนวณกี่ครั้ง ค่าภาษีก็ยังคงที่เสมอ

4.2 การใช้คอนแสตนต์สำหรับค่าการตั้งค่าระบบ

ในกรณีของโปรเจกต์ขนาดใหญ่ คอนแสตนต์ช่วยให้โปรแกรมจัดการค่าเริ่มต้นได้ง่าย เช่น ชื่อเว็บไซต์ ค่าพารามิเตอร์ต่างๆ ที่มักถูกใช้ในหลายส่วนของโปรแกรม

ตัวอย่างการกำหนดค่าระบบ:

<?php
define("SITE_NAME", "MyWebsite");
define("DEFAULT_LANGUAGE", "th");

echo "ยินดีต้อนรับสู่ " . SITE_NAME . "<br>";
echo "ภาษาเริ่มต้น: " . DEFAULT_LANGUAGE;
?>

ในตัวอย่างนี้:

  • SITE_NAME และ DEFAULT_LANGUAGE เป็นค่าที่สามารถใช้งานซ้ำในโปรแกรมได้อย่างสะดวก ทำให้สามารถปรับค่าที่ต้องการเปลี่ยนแปลงเพียงครั้งเดียวได้จากส่วนกลาง

4.3 การใช้คอนแสตนต์ในการตั้งค่าโครงสร้างโปรเจกต์

คอนแสตนต์มักใช้เพื่อกำหนดที่ตั้งของโฟลเดอร์หรือไฟล์ ซึ่งช่วยให้สามารถเข้าถึงไฟล์หรือโฟลเดอร์ได้ง่ายและสะดวก เช่น

<?php
define("UPLOAD_DIR", "/uploads");
define("CONFIG_FILE", "/config/settings.php");

echo "อัปโหลดไฟล์ไปยัง: " . UPLOAD_DIR;
echo "โหลดไฟล์การตั้งค่าจาก: " . CONFIG_FILE;
?>

5. คอนแสตนต์แบบต่างๆ ใน PHP

นอกจากการใช้ define() เพื่อสร้างคอนแสตนต์แล้ว PHP ยังมีคอนแสตนต์ที่เป็นแบบพิเศษ เช่น PHP_VERSION, PHP_OS ที่เป็นคอนแสตนต์ที่กำหนดมาให้แล้วจาก PHP เอง

ตัวอย่างคอนแสตนต์ระบบ:

<?php
echo "PHP Version: " . PHP_VERSION . "<br>";
echo "Operating System: " . PHP_OS . "<br>";
?>

นี่คือรายละเอียดของ บทที่ 5: การใช้งานคอนแสตนต์ใน PHP โดยมีการอธิบายถึงความหมายของคอนแสตนต์ วิธีการสร้างและใช้งาน พร้อมตัวอย่างการนำไปใช้งานจริงในโปรเจกต์ต่างๆ


บทที่ 5: การใช้งานคอนแสตนต์ใน PHP

1. คอนแสตนต์ (Constant) ใน PHP คืออะไร

คอนแสตนต์ (Constant) ใน PHP เป็นตัวแปรที่ไม่สามารถเปลี่ยนแปลงค่าได้หลังจากที่ถูกกำหนดครั้งแรก โดยมีคุณสมบัติต่างจากตัวแปรทั่วไป คือ

  • ไม่ต้องขึ้นต้นด้วย $ เหมือนตัวแปรปกติ
  • ค่าที่เก็บไว้จะคงที่และไม่สามารถเปลี่ยนแปลงระหว่างการทำงานของโปรแกรม
  • มักใช้เก็บค่าที่เป็นค่าคงที่ เช่น ค่าภาษี อัตราดอกเบี้ย หรือตัวเลขที่ไม่เปลี่ยนแปลงในโปรแกรม

คอนแสตนต์มีประโยชน์ในการเก็บข้อมูลที่ต้องการใช้งานซ้ำๆ ในโปรแกรมโดยไม่ให้เปลี่ยนแปลง ซึ่งช่วยเพิ่มความชัดเจนและลดความผิดพลาดในการใช้งาน


2. การสร้างคอนแสตนต์ใน PHP

ใน PHP การสร้างคอนแสตนต์ทำได้โดยใช้ฟังก์ชัน define() ซึ่งใช้สองพารามิเตอร์หลัก ได้แก่ ชื่อคอนแสตนต์และค่าของคอนแสตนต์

รูปแบบการใช้งาน define():

phpคัดลอกโค้ดdefine("CONSTANT_NAME", value);

ตัวอย่างการสร้างคอนแสตนต์:

<?php
define("SITE_NAME", "MyWebsite");
define("TAX_RATE", 0.07);
?>

ในตัวอย่างนี้:

  • SITE_NAME เป็นคอนแสตนต์ที่เก็บชื่อเว็บไซต์
  • TAX_RATE เป็นคอนแสตนต์ที่เก็บค่าภาษีซึ่งเป็นเลขทศนิยม

2.1 การตั้งชื่อคอนแสตนต์

ตามมาตรฐานการตั้งชื่อใน PHP คอนแสตนต์มักจะตั้งชื่อด้วยตัวพิมพ์ใหญ่ทั้งหมดเพื่อให้ง่ายต่อการจดจำและแยกแยะจากตัวแปรทั่วไป ตัวอย่างเช่น DATABASE_NAME, MAX_USER, DEFAULT_LANGUAGE


3. คุณสมบัติของคอนแสตนต์

คอนแสตนต์ใน PHP มีคุณสมบัติดังนี้:

  • ไม่ต้องใช้เครื่องหมาย $: คอนแสตนต์ไม่จำเป็นต้องใช้ $ นำหน้าชื่อ
  • การเข้าถึงแบบสากล (Global): คอนแสตนต์สามารถเข้าถึงได้จากทุกที่ในโปรแกรม ไม่ว่าจะอยู่ในฟังก์ชันหรือโครงสร้างใดๆ
  • ค่าคงที่: คอนแสตนต์ไม่สามารถเปลี่ยนแปลงค่าได้หลังจากถูกกำหนดค่าแล้ว

4. การใช้งานคอนแสตนต์ใน PHP

คอนแสตนต์ใช้ประโยชน์ในการเก็บค่าคงที่ที่จำเป็นต้องเรียกใช้หลายครั้งในโปรแกรม โดยไม่ต้องเสี่ยงต่อการเปลี่ยนแปลงค่าโดยบังเอิญ ตัวอย่างการใช้งานคอนแสตนต์มีดังนี้:

4.1 การใช้งานคอนแสตนต์สำหรับข้อมูลที่ไม่เปลี่ยนแปลง

ตัวอย่างการกำหนดค่าภาษีและใช้ในการคำนวณราคาสินค้ารวมภาษี:

<?php
define("TAX_RATE", 0.07);  // กำหนดค่าภาษีคงที่

$price = 100;
$total = $price + ($price * TAX_RATE);  // คำนวณราคารวมภาษี
echo "ราคารวมภาษี: $total บาท";
?>

ในตัวอย่างนี้:

  • TAX_RATE ใช้ในการคำนวณภาษี ไม่ว่าคำนวณกี่ครั้ง ค่าภาษีก็ยังคงที่เสมอ

4.2 การใช้คอนแสตนต์สำหรับค่าการตั้งค่าระบบ

ในกรณีของโปรเจกต์ขนาดใหญ่ คอนแสตนต์ช่วยให้โปรแกรมจัดการค่าเริ่มต้นได้ง่าย เช่น ชื่อเว็บไซต์ ค่าพารามิเตอร์ต่างๆ ที่มักถูกใช้ในหลายส่วนของโปรแกรม

ตัวอย่างการกำหนดค่าระบบ:

<?php
define("SITE_NAME", "MyWebsite");
define("DEFAULT_LANGUAGE", "th");

echo "ยินดีต้อนรับสู่ " . SITE_NAME . "<br>";
echo "ภาษาเริ่มต้น: " . DEFAULT_LANGUAGE;
?>

ในตัวอย่างนี้:

  • SITE_NAME และ DEFAULT_LANGUAGE เป็นค่าที่สามารถใช้งานซ้ำในโปรแกรมได้อย่างสะดวก ทำให้สามารถปรับค่าที่ต้องการเปลี่ยนแปลงเพียงครั้งเดียวได้จากส่วนกลาง

4.3 การใช้คอนแสตนต์ในการตั้งค่าโครงสร้างโปรเจกต์

คอนแสตนต์มักใช้เพื่อกำหนดที่ตั้งของโฟลเดอร์หรือไฟล์ ซึ่งช่วยให้สามารถเข้าถึงไฟล์หรือโฟลเดอร์ได้ง่ายและสะดวก เช่น

<?php
define("UPLOAD_DIR", "/uploads");
define("CONFIG_FILE", "/config/settings.php");

echo "อัปโหลดไฟล์ไปยัง: " . UPLOAD_DIR;
echo "โหลดไฟล์การตั้งค่าจาก: " . CONFIG_FILE;
?>

5. คอนแสตนต์แบบต่างๆ ใน PHP

นอกจากการใช้ define() เพื่อสร้างคอนแสตนต์แล้ว PHP ยังมีคอนแสตนต์ที่เป็นแบบพิเศษ เช่น PHP_VERSION, PHP_OS ที่เป็นคอนแสตนต์ที่กำหนดมาให้แล้วจาก PHP เอง

ตัวอย่างคอนแสตนต์ระบบ:

<?php
echo "PHP Version: " . PHP_VERSION . "<br>";
echo "Operating System: " . PHP_OS . "<br>";
?>


6. การใช้คอนแสตนต์ในโปรเจกต์จริง

การใช้คอนแสตนต์มีประโยชน์ในโปรเจกต์จริงมากมาย ช่วยให้โปรแกรมมีโครงสร้างที่ชัดเจนและง่ายต่อการบำรุงรักษา โดยตัวอย่างการนำไปใช้ในโปรเจกต์จริง ได้แก่:

6.1 การเก็บข้อมูลคงที่ของเว็บไซต์

การกำหนดคอนแสตนต์สำหรับค่าคงที่ที่เกี่ยวข้องกับเว็บไซต์ เช่น ชื่อเว็บไซต์ ที่อยู่อีเมลติดต่อ เป็นต้น

<?php
define("SITE_TITLE", "My Cool Website");
define("CONTACT_EMAIL", "[email protected]");

echo "<h1>ยินดีต้อนรับสู่ " . SITE_TITLE . "</h1>";
echo "<p>ติดต่อเราได้ที่: " . CONTACT_EMAIL . "</p>";
?>


6.2 การกำหนดค่า Database Configuration

ค่าต่างๆ ที่เกี่ยวข้องกับการเชื่อมต่อฐานข้อมูลควรกำหนดเป็นคอนแสตนต์ เพื่อให้การเปลี่ยนแปลงทำได้ง่ายและไม่เสี่ยงต่อการเกิดข้อผิดพลาด

<?php
define("DB_HOST", "localhost");
define("DB_USER", "root");
define("DB_PASS", "password");
define("DB_NAME", "my_database");

$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
if ($conn->connect_error) {
    die("การเชื่อมต่อล้มเหลว: " . $conn->connect_error);
}
echo "เชื่อมต่อฐานข้อมูลสำเร็จ";
?>


7. ข้อควรระวังในการใช้งานคอนแสตนต์

  • คอนแสตนต์ไม่สามารถเปลี่ยนแปลงค่าได้ ดังนั้นควรกำหนดค่าให้ถูกต้องตั้งแต่ต้น
  • ควรตั้งชื่อคอนแสตนต์ให้ชัดเจนและสื่อความหมาย เพื่อให้สามารถนำไปใช้งานได้ง่าย
  • คอนแสตนต์ใน PHP เป็นสากล สามารถเรียกใช้ได้ทุกที่ในโปรแกรม จึงควรระวังการใช้งานเพื่อป้องกันความสับสน

8. บทสรุป

คอนแสตนต์เป็นส่วนสำคัญในการพัฒนาโปรแกรม PHP โดยใช้เก็บข้อมูลที่คงที่และไม่เปลี่ยนแปลง ทำให้การจัดการค่าคงที่ในโปรแกรมง่ายขึ้น ลดความผิดพลาดในการเปลี่ยนแปลง และช่วยให้โค้ดอ่านง่ายขึ้น

Comments

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *