PHP File Inclusion Control Structure

file inclusion

PHP তে include, require, include_once এবং require_once function কি?

একই PHP সার্ভারের মধ্যে অথবা remotely যেকোনো PHP সার্ভারের একটি file এর content গুলোকে নিজস্ব PHP সার্ভারের যেকোনো PHP file এর ভিতরে insert বা সন্নিবেশিত করার জন্য PHP তে include, require, include_once এবং require_once function গুলো ব্যবহৃত হয়। তবে remote পি এইচ পি সার্ভারের যেকোনো file কে নিজস্ব server এ include করতে হলে অবশ্যই php.ini ফাইল এ allow_url_include অফশন on করে দিতে হবে। তবে allow_url_include অফশন on রাখা ওয়েবসাইট এর নিরাপত্তার দৃষ্টিকোণে ক্ষতিকর ।

PHP তে include, include_once এবং require, require_once function গুলো কিভাবে ব্যবহার করবো ?

Zend Certified PHP Engineering (ZCPE) Course

PHP তে include, include_once এবং require, require_once function গুলো যেহেতু PHP echo এবং print এর মতো language construct, সুতরাং এই function গুলোকেও আপনি parentheses সহ অথবা parentheses ছাড়াও ব্যবহার করতে পারবেন। নিচের উদাহরণ লক্ষ্য করুন :

<?php
include("a.php"); //with parentheses 
//Or
include "a.php"; //without parentheses 
?>

আপনি যেখানে বা কোডের যেই লাইনে file include করবেন , সেই লাইন থেকে নিচের লাইন গুলোতে included file এর কাজ করবে। এইবার নিচের উদাহরণে দেখা যাক কিভাবে include function কাজ করে:

<?php
//vars.php

$color = 'green';
$fruit = 'apple';

?>


<?php
//test.php

echo "$color $fruit"; // will show warning

include 'vars.php';

echo "$color $fruit"; // Result: green apple

?>

Zend Certified PHP Engineering (ZCPE) Course

include function দিয়ে user defined function এর ভিতরেও file include করতে পারবেন। সেক্ষেত্রে user defined function কল করার পরই file include হবে। নিচের উদাহরণ লক্ষ্য করুন :

<?php
//vars.php

$color = 'green';
$fruit = 'apple';

?>
<?php
//foo.php
function foo(){
    include 'vars.php';
    echo "A $color $fruit";
}
foo();                    // A green apple
?>

Including within functions with global variable

<?php

function foo()
{
    global $color;

    include 'vars.php';

    echo "A $color $fruit";
}

/* vars.php is in the scope of foo() so     *
* $fruit is NOT available outside of this  *
* scope.  $color is because we declared it *
* as global.                               */

foo();                    // A green apple
echo "A $color $fruit";   // A green

?>

Comparing return value of include

আপনি যখন include অথবা require কে function হিসেবে ব্যবহার করবেন, অর্থাৎ এগুলো কল করার সময় parenthesis ( ) ব্যবহার করবেন , তখন এটিকে comparison এর কাজে ব্যবহার করা যাবেনা। কিন্তু আপনি যখন include অথবা require কে language construct হিসাবে ব্যবহার করবেন , তখন আপনি চাইলে এগুলোকে comarison এর কাজে ব্যবহার করতে পারবেন। নিচের উদাহরণ দেখুন:

<?php
// won't work, evaluated as include(('vars.php') == TRUE), i.e. include('1')
if (include('vars.php') == TRUE) {
    echo 'OK';
}

// works
if ((include 'vars.php') == TRUE) {
    echo 'OK';
}
?>

include and the return statement

আপনার include কৃত ফাইলে যদি কোনো ভ্যারিয়েবল রিটার্ন করা থাকে , সেখেত্রে আপনি উক্ত ভ্যারিয়েবল echo করলে উক্ত ভ্যারিয়েবল এর মানটি পাবেন। আর যদি কোনো ভ্যারিয়েবল রিটার্ন করা না থাকে , সেক্ষেত্রে শুধু boolean true পাবেন। নিচের উদাহরণটি লক্ষ্য করুন :

return.php

<?php

$var = 'PHP';

return $var;

?>

noreturn.php

<?php

$var = 'PHP';

?>

testreturns.php

<?php

$foo = include 'return.php';

echo $foo; // prints 'PHP'

$bar = include 'noreturn.php';

echo $bar; // prints 1

?>

এখানে $bar হল মান হল1 কারণ include successful হয়েছে। উপরের উদাহরণগুলির মধ্যে পার্থক্য লক্ষ্য করুন। প্রথমটি অন্তর্ভুক্ত ফাইলের মধ্যে রিটার্ন ব্যবহার করে যখন অন্যটি করে না। যদি ফাইলটি অন্তর্ভুক্ত করা না যায়, তাহলে false return দেওয়া হয় এবং E_WARNING issue করা হয়।

PHP তে require এবং require_once, include এবং include_once function এর মধ্যে কোনো পার্থক্য আছে?

হ্যা PHP তে require এবং require_once, include এবং include_once function এর মধ্যে অনেক গুলো পার্থক্য আছে। নিচের টেবিল টি লক্ষ্য করুন:

require এবং require_once VS include এবং include_once
PHP তে require এবং require_once function দিয়ে যদি কোনো file কে include করার পর কোনো কারণে সেই file খুঁজে না পায়, সে ক্ষেত্রে require এবং require_once function দুটি PHP তে fatal error “E_COMPILE_ERROR” দেখাবে এবং তাৎক্ষণিক ভাবে script execution বন্ধ করে দিবে। include এবং include_once function দিয়ে যদি কোনো file কে অন্য কোনো php file এ include করার পর কোনো কারণে সেই file টি খুঁজে না পায়, সে ক্ষেত্রে include এবং include_once function দুটি PHP তে শুধুমাত্র warning “E_WARNING” দিবে এবং পরবর্তী script গুলোর execution continue করবে।
require এবং include VS require_once এবং include_once
require এবং include function দিয়ে যদি একটি file ইতিমধ্যে include করা হয়ে থাকে, কোনো কারণে একই file যদি আবার require এবং include function দিয়ে include করি, তাহলে ঐ file টি আবার include হবে । require এবং include function দিয়ে যদি একটি file ইতিমধ্যে include করা হয়ে থাকে, কোনো কারণে একই file যদি আবার require_once এবং include_once function দিয়ে include করি, তাহলে ঐ file টি দ্বিতীয়বার include হবে না ।

আমি মাসুদ আলম, বাংলাদেশের ৩৬ তম Zend Certified Engineer । ২০০৯ সালে কম্পিউটার সাইন্স থেকে বেচেলর ডিগ্রী অর্জন করি। দীর্ঘ ১৫ বছর আমি Winux Soft, SSL Wireless, IBCS-PRIMAX, Max Group, Canadian International Development Agency (CIDA), Care Bangladesh, World Vision, Hellen Keller, Amarbebsha Ltd সহ বিভিন্ন দেশি বিদেশী কোম্পানিতে ডেটা সাইন্স, মেশিন লার্নিং, বিগ ডেটা, ওয়েব ডেভেলপমেন্ট এবং সফটওয়্যার ডেভেলপমেন্ট এর উপর বিভিন্ন লিডিং পজিশন এ চাকরি এবং প্রজেক্ট লিড করি। এছাড়াও বাংলাদেশের ১৮৫ জন জেন্ড সার্টিফাইড ইঞ্জিনিয়ার এর মধ্যে ১২০ এরও অধিক ছাত্র আমার হাতে জেন্ড সার্টিফাইড ইঞ্জিনিয়ার হয়েছেন। বর্তমানে w3programmers ট্রেনিং ইনস্টিটিউট এ PHP এর উপর Professional এবং Advance Zend Certified PHP -8.2 Engineering, Laravel Mastering Course with ReactJS, Python Beginning To Advance with Blockchain, Machine Learning and Data Science, Professional WordPress Plugin Development Beginning to Advance কোর্স করাই। আর অবসর সময়ে w3programmers.com এ ওয়েব টেকনোলজি নিয়ে লেখালেখি করি।

Leave a Reply