require,require_once,include include_once มันต่างกันยังไง

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ น่ะค่ะ

Moderator:

มือใหม่

require,require_once,include include_once มันต่างกันยังไง

Postby มือใหม่ » 23/05/2006 12:58 pm

อยากรู้ ว่า
require,require_once,include และ include_once ต่างกันตรงไหน อย่างไร ขอ แบบแจ่มๆ เลยนะครับ

User avatar
icphysics
Posts: 178
Joined: 01/01/1970 7:00 am
Contact:

Postby icphysics » 24/05/2006 12:53 am

require()
require_once()
include()
include_once()
4 ฟังก์ชั่นนี้ โดย หลักๆ จะเหมือนกัน คือ การนำไฟล์ อื่นๆไฟล์ นามสกุล เช่น .php,.txt,.ini, .htm, .html เข้ามาใช้งาน ร่วมกับ ไฟล์ .php ของเรา ซึ้งการทำงาน หลักๆ ก็ อื่น เมื่อโปแกรม ทำงาน มาถึงตอนที่ เรียกไฟล์ อื่น มา มันก็ เหมือน ว่า จะไป อ่าน ไฟล์นั้นๆ เข้ามา ยังไฟล์ php ของ เรา แล้ว นำทุกอย่างของไฟล์นั้นๆ มาใช้ใน ไฟล์ php ของเราได้

ข้อแตกต่าง ของ 4 function นี้ก็คือ
include();
นำไฟล์อื่นมาใช้งาน ถ้าไม่มีไฟล์นั้น จะไม่ระงับการทำงาน (แสดง warning )
include_once();
นำไฟล์อื่นมาใช้งานเพียงครั้งเดียว ถ้าไม่มีไฟล์นั้น จะไม่ระงับการทำงาน(warning )
require();
นำไฟล์อื่นมาใช้งาน ถ้าไม่มีไฟล์นั้น จะหยุดการทำงานทันที (error)
require_once();
นำไฟล์อื่นมาใช้งานเพียงครั้งเดียว ถ้าไม่มีไฟล์นั้น จะหยุดการทำงานทันที (error)

include() สามารถใช้โครงสร้างของการวนลูบและเงื่อนไขได้ แต่ require() ไม่ได้

นำไฟล์อื่นมาใช้งานเพียงครั้งเดียว
หมาย ความ ว่า php จะอ่านไฟล์ ที่ ถูกเรียกด้วย include_once(); หรือ require_once(); เพียงครั้งเดียว จะไม่อ่านไฟล์ เดิมนั้นซ้ำอีก
เช่น ไฟล์ที่ ถูก include,require เข้ามาใช้ งาน เขียน function ไว้ เรา เรียกไฟล์นั้น ซ้ำโดย
include(),require() จะเกิด error บอกว่าไม่ สามารถ ประกาศ function ซ้ำ ได้
แต่ถ้าเราใช้ include_once(); หรือ require_once(); ก็ ไม่มี error ออกมา
ปล.
ขอเสริมให้อีกหน่อยนะครับ
include() กับ require()
เรื่องความเร็วของทั้ง 2 คำสั่งนี้
require() จะทำงานได้เร็วการ include() เมื่อ ขนาดไฟล์ที่เราใช้คำสั่งนั้น มี ขนาดเล็กๆ ( น้อยกว่า 10 k )
และคำสั่ง include เกิดหนัง require............


Return to “Programming - PHP”

Who is online

Users browsing this forum: No registered users and 1 guest