স্বয়ংক্রিয়ভাবে লোড করা

composer ব্যবহার করে PSR-0 মানের ফাইল লোড করা

webman PSR-4 স্বয়ংক্রিয় লোডিং মান অনুসরণ করে। যদি আপনার ব্যবসার জন্য PSR-0 মানের কোডবেস লোড করার প্রয়োজন হয়, তাহলে নিচের পদক্ষেপগুলো অনুসরণ করুন।

  • নতুন extend ডিরেক্টরি তৈরি করুন PSR-0 মানের কোডবেস সংরক্ষণের জন্য
  • composer.json সম্পাদনা করুন, autoload এর অধীনে নিম্নলিখিত বিষয়বস্তু যুক্ত করুন
"psr-0" : {
    "": "extend/"
}

প্রান্তিক ফলাফলটি এরকম হবে

  • composer dumpautoload চালান
  • php start.php restart চালান webman পুনঃচালু করতে (মনে রাখবেন, কার্যকর হতে পুনঃচালু করতে হবে)

composer ব্যবহার করে কিছু ফাইল লোড করা

  • composer.json সম্পাদনা করুন, autoload.files এর অধীনে লোড করতে হবে এমন ফাইলগুলো যোগ করুন

    "files": [
    "./support/helpers.php",
    "./app/helpers.php"
    ]
  • composer dumpautoload চালান

  • php start.php restart চালান webman পুনঃচালু করতে (মনে রাখবেন, কার্যকর হতে পুনঃচালু করতে হবে)

টিপ
composer.json এর মধ্যে autoload.files কনফিগারেশন করা ফাইলগুলো webman চলার আগে লোড হবে। অন্যদিকে, ফ্রেমওয়ার্কের config/autoload.php দ্বারা লোড করা ফাইলগুলো webman চলার পরে লোড হবে।
composer.jsonautoload.files দ্বারা লোডকৃত ফাইলগুলো পরিবর্তনের পর কার্যকর করতে পুনঃচালনা করতে হবে, আবার লোড হবে না। অন্যদিকে, ফ্রেমওয়ার্কের config/autoload.php দ্বারা লোডকৃত ফাইলগুলো হট লোড সমর্থন করে, পরিবর্তনের পর পুনঃলোড করলে কার্যকর হবে।

ফ্রেমওয়ার্ক ব্যবহার করে কিছু ফাইল লোড করা

কিছু ফাইল হয়তো SPR মানের সাথে সামঞ্জস্যপূর্ণ নয়, তাই স্বয়ংক্রিয়ভাবে লোড করা সম্ভব নয়, আমরা config/autoload.php কনফিগারেশন মাধ্যমে এই ফাইলগুলো লোড করতে পারি, যেমন:

return [
    'files' => [
        base_path() . '/app/functions.php',
        base_path() . '/support/Request.php', 
        base_path() . '/support/Response.php',
    ]
];

টিপ
আমরা দেখতে পাচ্ছি autoload.phpsupport/Request.php এবং support/Response.php দুটি ফাইল লোড করার কনফিগারেশন করা হয়েছে, কারণ vendor/workerman/webman-framework/src/support/ আন্ডারে দুটি একই ফাইল রয়েছে। আমরা autoload.php এর মাধ্যমে প্রকল্পের মূল ডিরেক্টরির support/Request.php এবং support/Response.php কে অগ্রাধিকার দিয়ে লোড করছি, ফলে আমরা এই দুটি ফাইলের বিষয়বস্তু কাস্টমাইজ করতে পারি এবং vendor এর মধ্যে ফাইলগুলো পরিবর্তন করার প্রয়োজন হয়নি। যদি আপনাকে এগুলো কাস্টমাইজ করার প্রয়োজন না হয়, তাহলে এই দুটি কনফিগারেশনকে উপেক্ষা করতে পারেন।