লারাভেলের ধারাবাহিক টিউটোরিয়ালের মধ্যে আজকে আমাদের সপ্তম পোস্ট। এই পর্যন্ত আমরা আগের পোস্টগুলির মাধ্যমে লারাভেল সম্পর্কে প্রাথমিক কিছু ধারণা নিয়েছি। ধীরে ধীরে আমরা লারাভেল সম্পর্কে আরও অ্যাডভান্সড জানবো। তো চলুন আর কথা না বাড়িয়ে টাইটেল বা শিরোনাম অনুযায়ী আজকের টপিকের মূল বিষয়ের উপর আলোকপাত করা যাক।

অ্যাপ্লিকেশন স্ট্রাকচার হল প্রজেক্টে উপলব্ধ ফোল্ডার, সাব-ফোল্ডার এবং ফাইলের গঠন। একবার প্রজেক্টটি লারাভেলে তৈরি হয়ে গেলে ঠিক উপরের স্ক্রিনশটের মতো দেখতে হবে অ্যাপ্লিকেশন কাঠামোটি।

লারাভেলের অ্যাপ ডিরেক্টরি:

অ্যাপ ফোল্ডারটি লারাভেলের অন্যতম প্রধান ফোল্ডার কারণ বেশিরভাগ কোড অ্যাপ ফোল্ডারে লেখা হয়। অ্যাপ ফোল্ডারে নিম্নলিখিত সাব-ফোল্ডারগুলো রয়েছে।

  • Console
  • Exceptions
  • Http
  • Providers

Console:

কনসোল ফোল্ডারে লারাভেলের জন্য প্রয়োজনীয় কারিগরী কমান্ড রয়েছে। এতে যথাযথ স্বাক্ষর সহ ঘোষিত কমান্ড রয়েছে।

Exceptions:

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

এক্সেপশন ডিরেক্টরিতে handle.php ফাইল রয়েছে যা সমস্ত এক্সেপশনস পরিচালনা করে।

Http:

http ফোল্ডারটি অ্যাপ ফোল্ডারের একটি সাব-ফোল্ডার। এতে কন্ট্রোলার, মিডলওয়্যার এবং অনুরোধের মতো সাব-ফোল্ডার রয়েছে। লারাভেল MVC আর্কিটেকচার অনুসরণ করে, তাই HTTP-তে কন্ট্রোলার, ভিউ এবং অনুরোধ অন্তর্ভুক্ত রয়েছে।

  • মিডলওয়্যার: এটি http ডিরেক্টরির একটি সাব-ফোল্ডার। এটি অনুরোধ এবং প্রতিক্রিয়ার মধ্যে একটি ফিল্টার প্রক্রিয়া এবং যোগাযোগ প্রদান করে।
  • অনুরোধ: এটি http এর একটি সাব-ফোল্ডার যা একটি অ্যাপ্লিকেশনের সমস্ত অনুরোধ অন্তর্ভুক্ত করে।

Providers:

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

লারাভেলের বুটস্ট্র্যাপ ডিরেক্টরি:

বুটস্ট্র্যাপ ডিরেক্টরিতে সেই ফাইলগুলি ধারণ করা হয় যেগুলি লারাভেল অ্যাপ্লিকেশন বুটস্ট্র্যাপ করতে এবং স্বয়ংক্রিয়-লোডিং কনফিগার করতে প্রয়োজনীয়। বুটস্ট্র্যাপ ফোল্ডারে একটি সাব-ফোল্ডার ক্যাশে রয়েছে যা একটি ওয়েব অ্যাপ্লিকেশন ক্যাশ করার জন্য ব্যবহৃত হয়। এটিতে app.php ফাইলটিও রয়েছে যা বুটস্ট্র্যাপের জন্য প্রয়োজনীয় স্ক্রিপ্টগুলি শুরু করে।

উপরের স্ক্রিনশটটি লক্ষ্য করলে দেখতে পারবেন এখানে বুটস্ট্র্যাপ ডিরেক্টরির গঠন দেখানো হয়েছে। এটিতে একটি ফোল্ডার রয়েছে। যার মধ্যে cache এবং দুটি app.php এবং autoload.php নামক ফাইল রয়েছে।

Laravel এর কনফিগারেশন ডিরেক্টরি:

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

লারাভেলের ডাটাবেস ডিরেক্টরি:

ডাটাবেস ডিরেক্টরি ডাটাবেস ফাইল ধারণ করে। এতে সাব-ফোল্ডার factories, migrations এবং seeds রয়েছে । ডাটাবেস ডিরেক্টরির গঠন উপরের স্ক্রিনশটে দেখানো হয়েছে।

ডাটাবেস ডিরেক্টরি তিনটি সাব-ফোল্ডার নিয়ে গঠিত:

  • factories: factories ফোল্ডার বিপুল সংখ্যক ডেটা রেকর্ড তৈরি করতে ব্যবহৃত হয়।
  • migrations: মাইগ্রেশন ফোল্ডারটি ওয়েব অ্যাপ্লিকেশনে ডাটাবেস স্থানান্তর করতে ব্যবহৃত হয়।
  • seeds: seeds ফোল্ডারে ইউনিট টেস্টিং ডাটাবেস সঞ্চালনের জন্য ব্যবহৃত ক্লাস রয়েছে।

লারাভেলের পাবলিক ডিরেক্টরি:

পাবলিক ডিরেক্টরি হল একটি রুট ফোল্ডার যাতে Laravel ওয়েব অ্যাপ্লিকেশন শুরু বা আরম্ভ করার জন্য ব্যবহৃত ফ্রন্ট কন্ট্রোলার থাকে। একটি সর্বজনীন ডিরেক্টরির সাব-ফোল্ডারগুলি নিম্নরূপ। সর্বজনীন ডিরেক্টরির কাঠামো উপরের স্ক্রিনশটে দেখানো হয়েছে।

  • .htaaccess: এটি সার্ভার কনফিগারেশনের জন্য ব্যবহৃত হয়।
  • Javascript and CSS: এই ফাইলগুলি একটি ওয়েব অ্যাপ্লিকেশনের প্রধান সম্পদ হিসাবে বিবেচিত হয়।
  • index.php: এই ফাইলটি ওয়েব অ্যাপ্লিকেশন শুরু করার জন্য ব্যবহার করা হয়।

লারাভেলের রিসোর্স ডিরেক্টরি:

রিসোর্স ডিরেক্টরি ওয়েব অ্যাপ্লিকেশন উন্নত করতে ব্যবহৃত ফাইল ধারণ করে। এটিতে নিম্নলিখিত সাব-ফোল্ডারগুলো রয়েছে। রিসোর্স ডিরেক্টরির গঠন উপরের স্ক্রিনশটে দেখানো হয়েছে।

  • Assets: এই ফোল্ডারে ওয়েব অ্যাপ্লিকেশন স্টাইল করার জন্য ব্যবহৃত LESS এবং SCSS-এর মতো ফাইল রয়েছে।
  • Lang: ল্যাং ফোল্ডার স্থানীয়করণ বা আন্তর্জাতিকীকরণের জন্য কনফিগারেশন প্রদান করে।
  • Views: ভিউ ফোল্ডারে এইচটিএমএল ফাইল রয়েছে যা শেষ-ব্যবহারকারীদের সাথে ইন্টারঅ্যাক্ট করতে ব্যবহৃত হয় এবং এটি এমভিসি আর্কিটেকচারে একটি গুরুত্বপূর্ণ ভূমিকা পালন করে।

লারাভেলের স্টোরেজ ডিরেক্টরি:

স্টোরেজ ডাইরেক্টরীতে সেই ফাইলগুলি রয়েছে যা একটি লারাভেল প্রজেক্ট চলাকালীন ঘন ঘন প্রয়োজন হয়। এটিতে মূলত নিম্নলিখিত ফোল্ডারগুলি রয়েছে। স্টোরেজ ডিরেক্টরির গঠন উপরের  স্ক্রিনশটে দেখানো হয়েছে।

  • App: এতে ফাইল রয়েছে যা ঘন ঘন কল করা হয়।
  • Framework: এতে টেমপ্লেট, ফাইল ভিত্তিক সেশন এবং ফাইল ক্যাশে রয়েছে।
  • Logs: এই ফোল্ডারটি ব্যতিক্রম এবং ত্রুটি লগ ট্র্যাক করে।

লারাভেলের টেস্ট ডিরেক্টরি:

টেস্ট ডিরেক্টরিতে সমস্ত স্বয়ংক্রিয় ইউনিট পরীক্ষার কেস রয়েছে। পরীক্ষার ক্লাসের নামকরণের নিয়ম হল camel_case কিন্তু একটি ক্লাসের কার্যকারিতা অনুযায়ী নামকরণের নিয়ম অনুসরণ করা উত্তম।

লারাভেলের ভেন্ডর ডিরেক্টরি:

ভেন্ডর ডিরেক্টরিতে কম্পোজার নির্ভরতা রয়েছে। উদাহরণস্বরূপ: লারাভেল সেটআপ ইনস্টল করতে কম্পোজার প্রয়োজন। ভেন্ডর ফোল্ডারে সমস্ত কম্পোজার নির্ভরতা রয়েছে।

আপনাদের সুবিধার্থে আমি আমার টিপস এন্ড ট্রিকসগুলি ভিডিও আকারে শেয়ার করার জন্য একটি ইউটিউব চ্যানেল তৈরি করেছি। আশা করি চ্যানেলটি Subscribe করবেন।

সৌজন্যে : বাংলাদেশের জনপ্রিয় এবং বর্তমান সময়ের বাংলা ভাষায় সকল গুরুত্বপূর্ণ বিষয়ক টিউটোরিয়াল সাইট - www.TutorialBD71.blogspot.com নিত্যনতুন বিভিন্ন বিষয়ে টিউটোরিয়াল পেতে সাইটটিতে সবসময় ভিজিট করুন।

Leave a Comment