PHP ফাইলস অর্গানাইজিং (Organizing PHP files) PHP __DIR__ Estimated reading: 3 minutes 7 views Contributors সারাংশ: এই টিউটোরিয়ালে, আপনি শিখবেন কিভাবে পিএইচপি ফাইল including করার সময় PHP __DIR__ magic constant ব্যবহার করতে হয়। PHP __DIR__ ম্যাজিক কন্সট্যান্ট- এর পরিচিতি ;- PHP 5.3 __DIR__ নামে একটি নতুন ম্যাজিক কন্সট্যান্ট প্রবর্তন করেছে। আপনি যখন একটি ফাইলের ভিতরে __DIR__ উল্লেখ করেন, তখন এটি ফাইলের ডিরেক্টরি ফেরত দেয়। __DIR__ এ রূট ডিরেক্টরি ছাড়া কেনা ট্রেইলিং স্লেষ অন্তর্ভুক্ত করে না যেমন,/ বা \ এটি একটি। আপনি যখন একটি ইনক্লোড এর ভিতরে __DIR__ ব্যবহার করেন, তখন __DIR__ ইনক্লোড ফাইলের ডিরেক্টরি ফেরত দেয়।প্রযুক্তিগতভাবে বলতে গেলে, __DIR__ dirname (__FILE__) সমতুল্য। যাইহোক, dirname(__FILE__) এর চেয়ে __DIR__ ব্যবহার করা আরও সংক্ষিপ্ত।সাধারণ PHP __DIR__উদাহরণধরুন, আপনার নিম্নলিখিত ডিরেক্টরি স্ট্রাকচার আছে:. ├── inc │ ├── footer.php │ └── header.php └── index.phpheader.php-এ হেডার অংশের কোড থাকে:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>PHP __DIR__ Demo</title> </head> <body>footer.php-এ ফুটার অংশের কোড থাকে। এটি __DIR__ কন্সট্যান্ট এর ভেল্যুও দেখায়:<p><?php echo __DIR__ ?></p> </body> </html>index.php-এ header.php এবং footer.php ফাইল উভয়ই ইনক্লোড থাকে। এটি __DIR__ কন্সট্যান্ট এর মানও দেখায়:<?php require 'inc/header.php' ?> <h1>Home</h1> <p><?php echo __DIR__ ?></p> <?php require 'inc/footer.php' ?>নিম্নলিখিত ওয়েব ব্রাউজারে আউটপুট দেখায়:Home C:\xampp\htdocs\web C:\xampp\htdocs\web\incThe __DIR__ in the index.php returns the current directory of the index.php C:\xampp\htdocs\web while the __DIR__ in the footer.php file returns the directory of the footer.php file C:\xampp\htdocs\web\inc.কেন PHP __DIR__ ব্যাবহার করবেন ধরুন , আপনার কাছে নিম্নলিখিত ডিরেক্টরি স্ট্রাকচার সহ একটি প্রজেক্ট রয়েছে:. ├── admin │ └── dashboard │ └── index.php ├── config │ └── app.php ├── inc │ ├── footer.php │ └── header.php └── public └── index.phpconfig/app.php এ অ্যাপ্লিকেশ এর কনফিগারেশন রয়েছে:<?php define('APP_NAME', 'My Awesome App');header.php-এ একটি পৃষ্ঠার হেডার অংশ থাকে। এটি config/app.php ফাইলও ইনক্লোড করে এবং APP_NAME কন্সট্যান্ট ব্যবহার করে:<?php require '../config/app.php' ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title><?php echo APP_NAME ?></title> </head> <body>footer.php-এ body এবং html উপাদান ক্লোজিং ট্যাগ রয়েছে:</body> </html>public/index.php ফাইলে header.php এবং footer.php ফাইল উভয়ই ইনক্লোড থাকে:<?php require '../inc/header.php' ?> <h1>Home</h1> <?php require '../inc/footer.php'?>আপনি যদি http://localhost/web/public/index.php-এ নেভিগেট করেন, আপনি পেজ এর সোর্স দেখার সময় নিম্নলিখিত আউটপুট দেখতে পাবেন:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>My Awesome App</title> </head> <body> <h1>Dashboard</h1> </body> </html>তাই public ডিরেক্টরি তে index.php পৃষ্ঠা আশানুরূপ কাজ করে। admin/dashboard এর index.php-এ header.php এবং footer.php ফাইলগুলিও রয়েছে:<?php require '../../inc/header.php' ?> <h1>Dashboard</h1> <?php require '../../inc/footer.php' ?>আপনি যখন http://localhost/web/admin/dashboard/index.php page টি ব্রাউজ করবেন, তখন আপনি নিম্নলিখিত এ্যারর টি দেখতে পাবেন:Warning: require(../config/app.php): failed to open stream: No such file or directory in C:\xampp\htdocs\web\inc\header.php on line 1 Fatal error: require(): Failed opening required '../config/app.php' (include_path='\xampp\php\PEAR') in C:\xampp\htdocs\web\inc\header.php on line 1 এ্যারর মেসেজ দেখায় যে header.php ‘../config/app.php’ ফাইলটি লোড করতে পারে না।যখন admin/dashboard ডিরেক্টরীতে index.php, header.php থেকে কোড লোড করে, তখন এটি admin ডিরেক্টরি এর ভিতরে config/app.php খুঁজে পাবে, root ডিরেক্টরি নয়। যেহেতু admin ডিরেক্টরি তে config/app.php ফাইল নেই, তাই PHP একটি error দেখায়। এই সমস্যা সমাধান করার জন্য, আপনি __DIR__ ব্যবহার করতে পারেন যখন আপনি config.php কে header.php ফাইলে এইভাবে ইনক্লোড করেন:<?php require __DIR__. '/../config/app.php' ?> admin/dashboard এর index.php সঠিকভাবে কাজ করবে। এর কারণ হল যখন PHP public/index.php বা admin/dashboard/index.php থেকে inc/header.php ফাইল লোড করে, inc/header.php-এর ভিতরের __DIR__ সর্বদা C:\xampp\htdocs\web\inc ফেরত দেয় .অতএব, আপনি যখন একটি ফাইল ইনক্লোড করেন তখন __DIR__ কন্সট্যান্ট ব্যবহার করা ভাল।সারসংক্ষেপPHP DIR একটি ফাইলের ডিরেক্টরি বা ইনক্লোড ফাইলের ডিরেক্টরি প্রদান করে যখন ফাইলটি ইনক্লোড হিসাবে ব্যবহার করা হয়। আপনি একটি ফাইল ইনক্লোড করার সময় DIR ব্যবহার করুন। PHP ফাইলস অর্গানাইজিং (Organizing PHP files) - Previous PHP রিকোয়ার (require & require_once ) Next - PHP ফাইলস অর্গানাইজিং (Organizing PHP files) PHP ভেরিয়েবল ভেরিয়েবলস (Variable variables)