PHP শিক্ষানবিসদের জন্য Composer: নির্ভরতা এবং অটোলোডিং
আপনি একটি নতুন PHP প্রকল্প শুরু করছেন এবং লগিং বা HTTP অনুরোধের জন্য একটি লাইব্রেরি প্রয়োজন। আপনি কিছু কোড কপি-পেস্ট করেন, কিন্তু এটি দ্রুত জটিল হয়ে যায়। কীভাবে আপনি বাহ্যিক লাইব্রেরিগুলি সঠিকভাবে পরিচালনা করবেন? Composer আপনার জন্য নির্ভরতা এবং অটোলোডিং পরিচালনা করে এটি সমাধান করে। এই গাইডে, আপনি স্ক্র্যাচ থেকে Composer ব্যবহার করতে শিখবেন।
Composer কী?
Composer হল PHP-এর জন্য একটি নির্ভরতা ব্যবস্থাপক। এটি আপনাকে আপনার প্রকল্প যে লাইব্রেরিগুলির উপর নির্ভর করে তা ঘোষণা করতে দেয় এবং আপনার জন্য সেগুলি পরিচালনা করে। এটি apt বা yum-এর মতো প্যাকেজ ম্যানেজার নয়; এটি প্রতি-প্রকল্পে কাজ করে, নির্ভরতাগুলি একটি vendor ডিরেক্টরিতে ইনস্টল করে।
Composer ইনস্টল করা
প্রথমে, আপনার টার্মিনালে composer --version চালিয়ে পরীক্ষা করুন Composer ইতিমধ্যে ইনস্টল করা আছে কিনা। যদি না থাকে, getcomposer.org থেকে ডাউনলোড এবং ইনস্টল করুন। Windows-এ, Composer-Setup.exe ইনস্টলার ব্যবহার করুন। macOS/Linux-এ, ইনস্টলার স্ক্রিপ্ট চালান।
একটি composer.json ফাইল তৈরি করা
প্রতিটি Composer প্রকল্পে একটি composer.json ফাইল থাকে যা নির্ভরতাগুলি বর্ণনা করে। আপনি এটি ম্যানুয়ালি তৈরি করতে পারেন বা চালাতে পারেন:
composer init
এই ইন্টারঅ্যাক্টিভ কমান্ডটি প্যাকেজের নাম, বিবরণ, লেখক এবং নির্ভরতা জিজ্ঞাসা করে। আপাতত, আপনি নির্ভরতা যোগ করা এড়িয়ে যেতে পারেন এবং পরে ফাইলটি সম্পাদনা করতে পারেন।
নির্ভরতা যোগ করা
একটি লাইব্রেরি যোগ করতে, composer require ব্যবহার করুন। উদাহরণস্বরূপ, জনপ্রিয় monolog/monolog লগিং লাইব্রেরি যোগ করতে:
composer require monolog/monolog
Composer লাইব্রেরি এবং এর নির্ভরতাগুলি vendor ডিরেক্টরিতে ডাউনলোড করবে এবং composer.json এবং composer.lock আপডেট করবে।
সংস্করণ সীমাবদ্ধতা বোঝা
Composer সেমান্টিক ভার্সনিং ব্যবহার করে। সাধারণ সীমাবদ্ধতা:
^1.21.xএ আপডেটের অনুমতি দেয় কিন্তু2.0নয় (লাইব্রেরির জন্য সুপারিশকৃত)।~1.21.2.xএ আপডেটের অনুমতি দেয় কিন্তু1.3নয়।1.2.*যেকোনো1.2.xসংস্করণের অনুমতি দেয়।>=1.2