Comment

PHP ফাইলস অর্গানাইজিং (Organizing PHP files)

PHP ইনক্লোড (include)

Estimated reading: 3 minutes 14 views Contributors

সারাংশ: এই টিউটোরিয়ালে, আপনি শিখবেন কিভাবে PHP include construct ব্যবহার করে একটি ফাইল থেকে কোড include করতে হয়।

PHP ইনক্লোড কনস্ট্রাক্ট-এর পরিচিতি

 include কনস্ট্রাক্ট  আপনাকে অন্য ফাইল থেকে একটি ফাইলে কোড লোড করতে দেয়। এখানে  include কনস্ট্রাক্ট  এর সিনট্যাক্স রয়েছে:

include 'path_to_file';

এই সিনট্যাক্সে, আপনি কীওয়ার্ড include  করার পরে ফাইলের পাথ রাখেন। উদাহরণ স্বরূপ, functions.php ফাইল থেকে index.php ফাইলে কোড লোড করতে, আপনি নিম্নলিখিত include স্টেটমেন্ট ব্যবহার করতে পারেন:

<?php 

// index.php file
include 'functions.php';

PHP যদি সোর্স ডিরেক্টরিতে ‘functions.php’ ফাইল খুঁজে না পায়, তাহলে এটি একটি ইস্যু ওয়ার্নিং করবে।

উদাহরণ স্বরূপ:

Warning: include(functions.php): failed to open stream: No such file or directory in ... on line 4
Warning: include(): Failed opening 'functions.php' for inclusion (include_path='\xampp\php\PEAR') in ... on line 4

functions.php ফাইল লোড করার সময়, PHP প্রথমে include_path দ্বারা নির্দিষ্ট করা ডিরেক্টরিতে functions.php ফাইলটি খোঁজে। এই উদাহরণে, এটি ‘\xampp\php\PEAR’। যদি PHP সেখানে functions.php ফাইল খুঁজে পায়, তাহলে এটি ফাইল থেকে কোড লোড করে।

অন্যথায়, PHP কলিং স্ক্রিপ্টের ডিরেক্টরি এবং কারেন্ট ওয়ার্কিং ডিরেক্টরিতে functions.php ফাইল সার্স করে। যদি PHP সেখানে functions.php ফাইল খুঁজে পায়, তাহলে এটি কোডটি লোড করে। অন্যথায়, ফাইলটি বিদ্যমান না থাকলে এটি একটি ইস্যু ওয়ার্নিং করে।

যখন PHP functions.php ফাইল লোড করে, এটি আসলে functions.php ফাইলের ভিতরে কোডটি সম্পাদন করে। উদাহরণস্বরূপ, যদি আপনি নিম্নলিখিত কোডটি functions.php ফাইলে রাখেন:

<?php

// functions.php

function get_copyright()
{
	return 'Copyright &copy; ' . date('Y') . ' by phptutorial.net. All Rights Reserved!';
}

echo get_copyright();

এবং index.php ফাইলে functions.php ইনক্লোড করুন, যখন আপনি index.php ফাইল রান করবেন , তখন আপনি নিম্নলিখিত আউটপুট দেখতে পাবেন:

Copyright © 2021 by phptutorial.net. All Rights Reserved!

এটি প্রমাণ করেছে যে ইনক্লোড কন্সট্রাক্ট PHP functions.php ফাইলে কোড এক্সিকিউট করে।

PHP ইনক্লোড এর উদাহরণ

অনুশীলনে, আপনি প্রায়শই একটি সাধারন সাইট ডিজাইন থেকে পৃষ্ঠার উপাদানে include কন্সট্রাক্ট ব্যবহার করবেন। উদাহরণস্বরূপ, আপনার ওয়েবসাইটের সমস্ত পৃষ্ঠার একই হেডার এবং ফুটার থাকতে পারে।

একাধিক পৃষ্ঠায় এই উপাদান এর পুনরাবৃত্তি এড়াতে, আপনি হেডার এবং ফুটার-এর কোড আলাদা ফাইল যেমন header.php এবং footer.php এ রাখতে পারেন এবং পেজ এ অন্তুর্ভুক্ত করতে পারেন।

সাধারণত, আপনি টেমপ্লেট ফাইল যেমন header.php এবং footer.php একটি আলাদা ডিরেক্টরিতে রাখেন। নিয়ম অনুসারে, include ডিরেক্টরির নাম হল inc:

.
├── index.php
├── functions.php
├── inc
│   ├── footer.php
│   └── header.php
└── public
    ├── css
    │   └── style.css
    └── js
        └── app.js

header.php ফাইলে পেজ-এর হেডার এর কোড থাকে। এটিতে public/css ডিরেক্টরীতে থাকা style.css ফাইলের একটি link রয়েছে:

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<link rel="stylesheet" href="public/css/style.css">
		<title>PHP include Example</title>
	</head>
	<body>

footer.php ফাইলটিতে পেজ এর ফুটারের সাথে সম্পর্কিত কোড রয়েছে:

<script src="js/app.js"></script>
</body>
</html>

index.php ফাইলে, আপনি এইভাবে header.php এবং footer.php ফাইল অন্তর্ভুক্ত করতে পারেন:

<?php include 'inc/header.php'; ?>

<h1>PHP include</h1>
<p>This shows how the PHP include construct works.</p>

<?php include 'inc/footer.php'; ?>

আপনি যদি index.php রান করেন এবংপেজ এর সোর্স কোড দেখেন, তাহলে আপনি header.php থেকেও কোডটি দেখতে পাবেন

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<link rel="stylesheet" href="public/css/style.css" />
		<title>PHP include Example</title>
	</head>
	<body>
		<h1>PHP include</h1>
		<p>This shows how the PHP include construct works.</p>

		<script src="public/js/app.js"></script>
	</body>
</html>

PHP ইনক্লোড এবং ভেরিয়েবল স্কোপ

আপনি যখন একটি ফাইল include করেন, তখন সেই ফাইলে ডিফাইন করা সমস্ত ভেরিয়েবল যেখানে ইনক্লোড করা হয় সেই লাইনের ভেরিয়েবল স্কোপ এর উত্তরাধিকারী হয় ।

1) ফাংশনের বাইরে ইনক্লোড করা উদাহরণ

উদাহরণস্বরূপ, নিম্নলিখিত functions.php-এ $title এবং $content ভেরিয়েবলকে ডিফাইন করে:

<?php

// functions.php

$title = 'PHP include';
$content = 'This shows how the PHP include construct works.';

যখন আপনি index.php ফাইলে functions.php অন্তর্ভুক্ত করেন, $title এবং $content ভেরিয়েবল index.php ফাইলের গ্লোবাল ভেরিয়েবলে পরিণত হয়। এবং আপনি নিম্নলিখিত হিসাবে তাদের ব্যবহার করতে পারেন:

<?php include 'inc/header.php'; ?>


<?php include_once 'functions.php'; ?>

<h1><?php echo $title; ?></h1>
<p><?php echo $content; ?></p>


<?php include 'inc/footer.php'; ?>

2) ফাংশনের ভিতরে ইনক্লোড করা উদাহরণ

যাইহোক, আপনি যদি একটি ফাংশনে একটি ফাইল include করেন, তাহলে include ফাইলের ভেরিয়েবল সেই ফাংশনের লোকাল ।

নিম্নলিখিত উদাহরণ দেখুন:

<?php include 'inc/header.php'; ?>
<?php include_once 'functions.php'; ?>

<?php
	function render_article()
	{
		include 'functions.php';

		return "<article>
                    <h1>$title</h1>
                $content
                </article>";
	}

	echo render_article();
?>


<?php include 'inc/footer.php'; ?>

এই উদাহরণে, আমরা render_article() ফাংশনের মধ্যে functions.php অন্তর্ভুক্ত করি। তাই, functions.php থেকে $title এবং $content ভেরিয়েবল render_function() এর লোকাল

এটা মনে রাখা গুরুত্বপূর্ণ যে include ফাইলে ডিফাইন করা সমস্ত  functionsclassesinterfaces, এবং traits একটি গ্লোবাল স্কোপ

সারসংক্ষেপ

  • অন্য স্ক্রিপ্ট ফাইল থেকে কোড লোড করার জন্য PHP include কন্সট্রাক্ট ব্যবহার করুন।

Leave a Comment

Share this Doc

PHP ইনক্লোড (include)

Or copy link

CONTENTS

Subscribe

×
Cancel