বাস্তব ওয়েবসাইট কখনো একটি বিশাল PHP ফাইল হয় না — হেডার, ফুটার, আর পুনঃব্যবহারযোগ্য লজিক নিজেদের ফাইলে ভাগ করা হয় আর যেখানে প্রয়োজন সেখানে টেনে আনা হয়। PHP-তে এর জন্য চারটি কীওয়ার্ড আছে, আর এদের মধ্যে পার্থক্যগুলো গুরুত্বপূর্ণ।
দুটোই আরেকটি PHP ফাইলের কন্টেন্ট বর্তমান ফাইলে টেনে আনে, যেন এটা সরাসরি সেখানেই টাইপ করা হয়েছিল:
// header.php
<?php
$siteName = "Learn Computer Academy";
?>
<header><h1><?php echo $siteName; ?></h1></header>// index.php
<?php
include "header.php";
?>
<p>Page content goes here.</p>পার্থক্যটা হলো ফাইলটি না থাকলে কী ঘটে: include একটি warning তৈরি করে আর স্ক্রিপ্ট চলতে থাকে; require একটি fatal error তৈরি করে আর স্ক্রিপ্ট সম্পূর্ণভাবে থেমে যায়।
| কীওয়ার্ড | ফাইল না থাকলে | যেখানে ব্যবহার করবেন |
|---|---|---|
| include | Warning, স্ক্রিপ্ট চলতে থাকে | ঐচ্ছিক অংশ — এটা ছাড়াও পাতাটি কাজ করে |
| require | Fatal error, স্ক্রিপ্ট থেমে যায় | অপরিহার্য অংশ — এটা ছাড়া পাতাটি ভাঙা (যেমন একটি ডেটাবেস কানেকশন ফাইল) |
include_once আর require_once একই কাজ করে, কিন্তু এই রিকোয়েস্টে ইতিমধ্যে একবার include হওয়া একটি ফাইল আবার include করা এড়িয়ে যায় — একটি ফাংশন বা ক্লাস সংজ্ঞায়িত করা ফাইলের জন্য এটি অপরিহার্য, কারণ একই ফাংশন দুইবার সংজ্ঞায়িত করা একটি fatal error:
<?php
require_once "db-connection.php";
require_once "db-connection.php"; // silently skipped, no error
?>একটি ব্যবহারিক ডিফল্ট
একটি ব্যবহারিক ডিফল্ট হিসেবে: ফাংশন বা ক্লাস সংজ্ঞায়িত করে এমন যেকোনো কিছুর জন্য require_once ব্যবহার করুন, আর একটি প্রোমোশনাল ব্যানারের মতো ঐচ্ছিক ডিসপ্লে অংশের জন্য সাধারণ include। এই একক নিয়মটি বেশিরভাগ বাস্তব ক্ষেত্র কভার করে।