Skip to main content

Command Palette

Search for a command to run...

লারাভেল ফাইল বিন্যাস কি? কেন লারাভেল ফাইল ফোল্ডার সম্পর্কে যথযথ জ্ঞান রাখা প্রয়োজন?

Updated
3 min read
লারাভেল ফাইল বিন্যাস কি? কেন লারাভেল ফাইল ফোল্ডার সম্পর্কে 
যথযথ জ্ঞান রাখা প্রয়োজন?

লারাভেল ফাইল বিন্যাস

লারাভেল ইনস্টল করার সর্ব প্রথম কাজ হলো লারাভেল ফাইল বিন্যাস সম্পর্কে যথাযথ ধারনা রাখা । কোন ফাইল কোন ফোল্ডারের মধ্যে রয়েছে আবার কোন ফাইলে কি লিখতে হবে এইগুলো সম্পর্কে ভালো ধারনা না থাকলে কাজের গতি অনেক কমে যায়।

মনে করুন, আপনি একটি ডাটাবেজ ফাইল এডিট করতে চাচ্ছেন। কিন্তু আপনি ঠিক জানেন না যে ডাটাবেজ এর ফাইল গুলো কোথায় থাকে বা ফাইল টার নাম কি। সঠিক ধারন না থাকার কারনে ফাইলটি খুজে বের করতেই অনেকটা সময় নস্ট হয়ে যাবে। তাই দ্রুত কাজ করার জন্য লারাভেল ফাইল-ফোল্ডার নিয়ে যথাযথ জ্ঞান অর্জন করা জরুরি।

ডিরেক্টরি স্ট্রাকচার

ছোট বড় সব ধরনের অ্যাপ্লিকেশন তৈরি করার জন্য ডিফল্টভাবে লারাভেল ফাইল ফোল্ডার সাজানো হয়েছে। প্রয়োজন হলে নিজেদের মত করে কাস্টমাইজ করে নেয়া যাবে। এক্ষেত্রে লারাভেল এর পক্ষ থেকে কোন রেস্ট্রিকশন নাই। একজন ডেভেলপার চাইলে তার নিজের পছন্দমত ফাইল নেম এবং ফোল্ডার স্ট্রাকচার সাজিয়ে নিতে পারেন।

লারাভেলে একটি ফ্রেশ প্রোজেক্ট তৈরি করার পর Root ডিরেক্টরিতে ফাইল ফোল্ডার গুলো যেভাবে থাকে।

  1. app,

  2. bootstrap,

  3. config,

  4. database,

  5. lang,

  6. public,

  7. resources,

  8. routes,

  9. storage,

  10. tests,

  11. vendor

app

এই ফোল্ডারের ভেতরে অ্যাপ্লিকেশনটির core কোডগুলো থাকে। এই ডিরেক্টরিতে আবার কিছু সাব ডিরেক্টরি রয়েছে। যেগুলোকে app ডিরেক্টরি বলা হয়। যেমনঃ

  1. Broadcasting

  2. Console

  3. Events

  4. Exceptions

  5. Http

  6. Jobs

  7. Listeners

  8. Mail

  9. Models

  10. Notifications

  11. Policies

  12. Provides

  13. Rules

ডিফল্টভাবে Console, Exceptions, Http, Models, Provides ফোল্ডার গুলো তৈরি হয়। বাকি ফোল্ডারগুলো আর্টিসান কমান্ড এর মাধ্যমে প্রয়োজন অনুযায়ী তৈরি করে কাজ করা হয়। php artisan make:job myJob কোডটি লিখে এন্টার প্রেস করলে Jobs ফোল্ডারের ভেতরে myJob নামে একটি ফাইল তৈরি হয়ে যায়। আবার Http ফোল্ডারের মধ্যে Controllers and Middlewares ফোল্ডার থাকে যেখানে কন্ট্রোলার এবং মিডলওয়্যার ফাইল গুলো থাকে।

Bootstrap

এই Bootstrap ডিরেক্টরিতে cache ফোল্ডারের ভেতরে এপ্লিকেশনের cache ফাইলগুলো থাকে। যেকোন ওয়েব অ্যাপ্লিকেশনের লোডিং টাইম কমানোর জন্য এই cache ফাইলগুলোর ভুমিকা অপরিসীম।

config

config ডিরেক্টরিতে এপ্লিকেশনটিকে কনফিগার করার জন্য প্রয়োজনীয় ফাইল গুলো থাকে। যেমন ডাটাবেজ কনফিগার করা, ইমেইল কনফিগার করা ইত্যাদি। এই ডিরেক্টরির কিছু ফাইল নিম্নে দেওয়া হলোঃ

app.php, auth.php, cache.php, database.php, hashing.php, logging.php, mail.php, queue.php, services.php, session.php, view.php

database

database ফোল্ডারের মধ্যে ডিফল্টভাবেfactories, migrations, seeders ফোল্ডার গুলো থাকে। অ্যাপ্লিকেশনের ডাটাবেজ মাইগ্রেশন এবং সীড ফাইল গুলাও এই database ফোল্ডারে থাকে। ডাটাবেজ টেবিল ক্রিয়েট করা এবং ডাটাবেজ টেবিলের রো এবং কলাম সম্পর্কিত যাবতীয় পরিবর্তন এই মাইগ্রেশনস ফোল্ডার থেকে করা হয়।

lang

ওয়েব অ্যাপ্লিকেশনে যত বেশি ভাষার সাপোর্ট দেয়া যাবে তত বেশি ভিজিটর অ্যাপ্লিকেশনটিকে ব্রাউজ করবে। যদি অ্যাপ্লিকেশনে ৫টি ভাষার সাপোর্ট প্রয়োজন হয় তাহলে সেই ৫টি ভাষার সকল ফাইল এই lang ফোল্ডারে রাখতে হবে। এই ফোল্ডারের কিছু ফাইল নিম্নে দেওয়া হলো-auth.php, pagination.php, passwords.php, validation.php

public

public ফোল্ডারের মধ্যে .htaccess, index.php, robots.txt গুরুত্বপূর্ন ফাইলগুলো থাকে।

resources

resources ফোল্ডারের মধ্যে একটি প্রজেক্টের css, js, images ফোল্ডারসহ views নামে ফোল্ডার রয়েছে। প্রজেক্টের সকল ছবি images ফোল্ডারে, সকল সিএসএস ফাইল গুলো resources ফোল্ডারে, সকল জাভাস্ক্রিপ্ট ফাইল গুলো js ফোল্ডারে রাখা হয়। তাছাড়া প্রজেক্টের যাবতীয় সকল ফ্রন্ট এন্ড এর ফাইল গুলো views ফোল্ডারে রাখা হয়।

routes

routesফোল্ডারের মধ্যে ডিফল্ট ভাবে নিচের ফাইলগুলো দেওয়া থাকে। একটি urlতৈরি করার জন্য web.php ফাইলে একটি রাউট ডিফাইন করা হয়। যেমনঃ api.php, channels.php, console.php, web.php

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 ফাইলগুলা থাকে। যেমনঃ bin, composer, laravel, symfony ইত্যাদি।

আগামি পর্বে .env ফাইল সম্পর্কে লেখার চেষ্টা করবো। সবাই ভালো থাকবেন! ধন্যবাদ!

More from this blog

We discuss basic routing

বেসিক রাউটিং সফটওয়্যার আর্কিটেকচারে রাউট হচ্ছে মৌলিক উপাদান(Basic Component). রাউট URL(URL = Uniform Resource Locator) থেকে অনুরোধ গ্রহণ করে এবং এপ্লিকেশনকে রিসোর্সের জন্য নির্দেশনা প্রদান করে। লারাভেলের রাউট সমূহ একই সাথে সুবিন্যস্ত করে রাখার জন্য r...

Jun 1, 20233 min read

Visual Studio Code এডিটর কি-বোর্ড শর্টকার্ট

এখন কোডিংয়ের স্পীড হবে রকেটের গতি যদি আপনি ব্লগটি পড়েন এবং শর্টকাট ব্যবহার করেন তাহলে চলুন শুরু করি। Visual Studio Code এডিটর কি-বোর্ড শর্টকার্টঃ MAC ও WINDOWS এর জন্য আলাদা কি-বোর্ড শর্টকাট নিচে দেওয়া হল- Visual Studio Code এর কমান্ড পেলেট কিভাবে ওপ...

Jun 1, 20233 min read
Visual Studio Code এডিটর কি-বোর্ড শর্টকার্ট

WordPress Support Engineer Input Field And Form

আজকে আমরা আলোচনা করব আমাদের WordPress Support Engineer Course এর ক্লাস ২ নিয়ে এবং আমাদের টপিক হলো html input fields. ইনপুট ফিল্ডে বিভিন্ন রকম টাইপ রয়েছে এর মধ্যে default html,html-5,iput type="text" ইত্যাদি। তো চলুন শুরু করি ।প্রথমেই আমরা আলোচনা করব ...

May 7, 20233 min read

Tailwind Css CLI ব্যাক্ষ্যা সহ Install প্রসেস

সবার প্রথমে আমাদের একটা Directory বানাতে হবে। আপনার Project এর নাম দিয়ে একটি Directory বানিয়ে ফেলুন। এরপর যেকোনো একটা Terminal ব্যবহার করে এই Directory তে ঢুকুন। npm install -D tailwindcss autoprefixer vite এই কমান্ড Terminal-এ দিবো। এক্সট্রা হিসেবে...

Apr 3, 20232 min read
Tailwind Css CLI ব্যাক্ষ্যা সহ Install প্রসেস
S

Shikhun Blog

96 posts