Laravel Framework Basics পর্ব-২: Laravel Files and Folders Structure

প্রিয় পাঠক, বাংলায় PHP Laravel Framework শেখার দ্বিতীয় পর্বে আপনাকে স্বাগতম, এই সিরিজের প্রথম পর্বে আমরা জেনেছি PHP কি? Framework কি? এবং Laravel Framework কি? আমরা আরো শিখেছি কিভাবে windows এবং লিনাক্স মেশিনে খুব সহজে Laravel Framework Install করা যায়। এই পর্বে আমরা Laravel Files and Folders 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 Files and Folders Structure
https://blog.w3programmers.com/laravel-mastering-course/

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

  • Laravel Files and Folders গুলোর Root Directory

    • app
    • bootstrap
    • config
    • database
    • lang
    • public
    • resources
    • routes
    • storage
    • tests
    • vendor
  • Laravel Files and Folders গুলোর Root এর মধ্যে অবস্থিত App Directory

    • Broadcasting
    • Console
    • Events
    • Exceptions
    • Http
    • Jobs
    • Listeners
    • Mail
    • Models
    • Notifications
    • Policies
    • Providers
    • Rules

এখন চলুন Laravel Files and Folders গুলোর Root Directory এর মধ্যে কোনটির কি কাজ সেটা দেখা এবং বুঝা যাক :

Mastering Laravel with ReactJS Course

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

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

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

  • database
  • Laravel Files and Folders গুলোর Root এর মধ্যে অবস্থিত database folder এ আপনার application এর সব database migration এবং seeds থাকবে । এমনকি SQLite database ফাইলটাও এখানে থাকে। database migration এবং seeds কি? পরে বিস্তারিত আলোচনা করব।

  • lang
  • lang directory তে আপনার অ্যাপ্লিকেশনের সমস্ত language ফাইল গুলো থাকে।

  • public
  • Laravel Files and Folders গুলোর Root এর মধ্যে অবস্থিত 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 Files and Folders Structure নিয়ে আরও জানতে চাইলে এই লিংকে দেখুন।

আমি মাসুদ আলম, বাংলাদেশের ৩৬ তম 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 এ ওয়েব টেকনোলজি নিয়ে লেখালেখি করি।

One thought on “Laravel Framework Basics পর্ব-২: Laravel Files and Folders Structure

Leave a Reply