PHP Control Structures
PHP File Inclusion Control Structure
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 গুলো কিভাবে ব্যবহার করবো ?
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 ?>
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 হবে না । |