PHP Professional,Laravel 5.6 Beginning to Advance এবং Zend Certified PHP Engineer (ZCPE ) Course এ সীমিত সংখ্যক আসন বাকি আছে। আগ্রহীদেরকে অতিসত্বর মাসুদ আলম স্যার এর সাথে যোগাযোগ করার জন্য অনুরোধ করা যাচ্ছে। স্যার এর মোবাইল নম্বর : ০১৭২২ ৮১ ৭৫ ৯১

বাংলায় PHP Laravel Framework পর্ব-২: File এবং Folder বিন্যাস

প্রিয় পাঠক, বাংলায় PHP Laravel Framework শেখার দ্বিতীয় পর্বে আপনাকে স্বাগতম, এই সিরিজের প্রথম পর্বে আমরা জেনেছি PHP কি? Framework কি? এবং Laravel Framework কি? আমরা আরো শিখেছি কিভাবে windows এবং লিনাক্স মেশিনে খুব সহজে Laravel Framework Install করা যায়। এই পর্বে আমরা Laravel File এবং Folder Structure এর সাথে পরিচিত হবো।

কেন আপনার জন্য Laravel File এবং Folder Structer জানা দরকার?

ধরুন আপনি কোথাও যাবেন, কিন্তু সেখানে রাস্তা ঘাট কিছুই চেনেন না। তাহলেতো সেই জায়গায় গেলে আপনাকে অনেক সমস্যায় পড়তে হতে পারে। এবং আপনি যেই কাজের জন্য যাবেন সেই কাজটি ও করতে পারবেন না। একইভাবে Laravel সহ যেকোনো Framework নিয়ে কাজ করতে হলে এর file এবং Folder structure আপনার জানা জরুরি। কেননা Laravel File এবং Folder Structure সম্পর্কে আপনার ভালো ধারণা না থাকলে, লারাভেল শিখতে এবং এটি ব্যবহার করে Project Development এ পরবর্তীতে আপনাকে সমস্যায় পড়তে হতে পারে।

Laravel File এবং Folder বিন্যাস

ডিফল্ট Laravel ফাইল এবং ফোল্ডার স্ট্রাকচার টি মূলত ছোট বড় সব ধরণের application development এর জন্য সাজানো হয়েছে, তবে আপনি চাইলে আপনার নিজের ইচ্ছে মতো করে ফাইল এবং ফোল্ডার structure সাজাতে পারেন। এর জন্য লারাভেল আপনাকে কোনো রেস্ট্রিকশন দিবেনা যতক্ষণ কম্পোজার class গুলো autoload করতে পারে। Laravel File এবং folder বিন্যাস টি নিচের ছবির মতো পাবেন:

Laravel 5.5 File and Folder Structure

উপরের ছবিতে আমরা সাধারণ ভাবে ১০ টি Directory ও কিছু File পাই। যেমন:

  • app
  • bootstrap
  • config
  • database
  • public
  • resources
  • routes
  • storage
  • tests
  • vendor

এখন চলুন এটির কোনটির কি কাজ সেটা দেখা এবং বুঝা যাক :

  • app:
  • এটি মূলত আপনার জন্য, অর্থাৎ এই ডিরেক্টরিতে আপনার এপ্লিকেশন এর Core কোড গুলো থাকবে , যেগুলো আপনিই বানাবেন । যেমনঃ Controller, Middleware সহ অন্যান্য প্রয়োজনীয় class গুলো।

  • bootstrap:
  • এটির মধ্যে app.php ফাইলটি থাকে, যা দিয়ে Laravel Framework টি কে bootstraps করে। তা ছাড়া এই ফোল্ডার এর মধ্যে একটি cache folder ও থাকে, যার মধ্যে performance optimization এর জন্য Framework Generated file এবং folder গুলো থাকে , যেমন routes এবং services cache files .

  • config
  • এই Folder এর মধ্যে আপনার application এর সব configuration ফাইল গুলো থাকবে। যেমন ডাটাবেস, মেইল, সেশন ইত্যাদি।

  • database
  • এখানে আপনার application এর সব database migration এবং seeds থাকবে । এমনকি SQLite database ফাইলটাও এখানে থাকে। database migration এবং seeds কি? পরে বিস্তারিত আলোচনা করব।

  • public
  • Public Directory তে আপনার index.php file থাকবে, যেটি আপনার application এর সব ধরণের request এর entry point হিসেবে ব্যবহৃত হবে আর সব ধরনের asset যেমন CSS, JS, fonts, image ইত্যাদি থাকবে।

  • resources
  • এই folder এ আপনার ফ্রন্ট এন্ড ফাইল view থাকবে । তা ছাড়া যত রকমের uncompiled যেমন LESS, SASS, JavaScript এবং Language ফাইলগুলাও এখানে থাকবে।

  • routes
  • এই folder এ আপনার application এর সব route definitions গুলা থাকবে। যেমনঃ web.php, api.php, channels.php, এবং console.php. আমরা route নিয়ে পরে বিস্তারিত আলোচনা করব।

  • storage
  • এই folder এ আপনার application এর সব compiled Blade templates, file based sessions, file caches, এবং framework generated অন্যান্য file গুলো থাকবে। এই folder টি তিনটি folder যথাক্রমে app, framework, এবং logs folder এ বিভক্ত। app folder আপনার application generated ফাইল গুলো থাকবে, framework folder আপনার framework generated ফাইল গুলো থাকবে এবং logs folder আপনার application এর লগ ফাইল গুলো থাকবে।

  • tests
  • এই folder এ আপনার application এর test ফাইল গুলা থাকে , যেমনঃ PHPUnit ফাইল।

  • vendor
  • এই folder এ আপনার সব Composer dependency ফাইলগুলা থাকে।

Laravel folder structure নিয়ে আরও জানতে চাইলে এই লিংকে দেখুন।

এই ক্যাটাগরির অন্যান্য পোস্ট:

Masud Alam
আমি মাসুদ আলম, বাংলাদেশের ৩৬ তম Zend Certified Engineer । ২০০৯ সালে কম্পিউটার সাইন্স থেকে বেচেলর ডিগ্রী অর্জন করি। দীর্ঘ ৮ বছর আমি Winux Soft, SSL Wireless, IBCS-PRIMAX, Max Group, Canadian International Development Agency (CIDA), Care Bangladesh, World Vision, Hellen Keller সহ বিভিন্ন দেশি বিদেশী কোম্পানিতে ওয়েব ডেভেলপমেন্ট এবং সফটওয়্যার ডেভেলপমেন্ট এর উপর বিভিন্ন লিডিং পজিশন এ চাকরি এবং প্রজেক্ট লিড করি। বিশেষ ভাবে বাংলাদেশের ১০০ জন জেন্ড সার্টিফাইড ইঞ্জিনিয়ার এর মধ্যে ৫২ জন ই আমার হাতে জেন্ড সার্টিফাইড হয়েছে। বর্তমানে TechBeeo Software Company তে সিইও হিসাবে আছি । পাশাপাশি w3programmers ট্রেনিং ইনস্টিটিউট এ PHP এর উপর Professional এবং Advance Zend Certified PHP -7 Engineering কোর্স করাই। আর w3programmers.com সাইট টি আমার।
One comment on “বাংলায় PHP Laravel Framework পর্ব-২: File এবং Folder বিন্যাস

Leave a Reply

Your email address will not be published. Required fields are marked *