ড্রুপাল (Drupal) সাইট ডেভেলপমেন্টের সময় Unit Testing এবং Debugging অত্যন্ত গুরুত্বপূর্ণ পদক্ষেপ। এগুলি ডেভেলপারদের কোডের সমস্যাগুলি সনাক্ত করতে এবং সমাধান করতে সাহায্য করে। ড্রুপালে ইউনিট টেস্টিং এবং ডিবাগিং ব্যবহারের মাধ্যমে আপনি কোডের মান উন্নত করতে পারেন এবং সাইটের পারফরম্যান্স এবং স্থায়িত্ব নিশ্চিত করতে পারেন।
এই গাইডে আমরা ড্রুপালে Unit Testing এবং Debugging Techniques সম্পর্কিত গুরুত্বপূর্ণ ধারণাগুলি আলোচনা করবো।
১. ড্রুপালে ইউনিট টেস্টিং (Unit Testing)
Unit Testing হল একটি পদ্ধতি যেখানে কোডের ছোট ছোট অংশ (ফাংশন বা মেথড) পরীক্ষিত হয়। এটি কোডের প্রতিটি ইউনিট সঠিকভাবে কাজ করছে কিনা তা নিশ্চিত করতে সাহায্য করে। ড্রুপালে ইউনিট টেস্টিং করার জন্য আপনি PHPUnit ব্যবহার করতে পারেন, যা ড্রুপালের অফিসিয়াল টেস্টিং ফ্রেমওয়ার্ক।
PHPUnit ইনস্টলেশন
PHPUnit ড্রুপালে ইউনিট টেস্টিং করার জন্য ব্যবহৃত একটি টেস্টিং ফ্রেমওয়ার্ক। এটি ড্রুপাল প্রকল্পের সাথে আসে, তবে আপনি এটি আলাদাভাবে ইনস্টল করতে পারেন।
Composer দিয়ে PHPUnit ইনস্টল করুন:
composer require --dev phpunit/phpunit ^9.5- PHPUnit কনফিগারেশন ফাইল তৈরি করুন: ড্রুপালের জন্য PHPUnit কনফিগারেশন ফাইল
phpunit.xml.distনামের একটি ফাইল থাকে, যা টেস্টিং পরিবেশ কনফিগার করে।
ইউনিট টেস্ট তৈরি করা
ড্রুপালে ইউনিট টেস্ট লিখতে, আপনি সাধারণত ড্রুপালের Testing ফোল্ডারের মধ্যে একটি টেস্ট ফাইল তৈরি করবেন।
- Testing ফোল্ডার তৈরি করুন:
- আপনার মডিউলের
tests/src/Unitফোল্ডারে একটি নতুন ফাইল তৈরি করুন। - উদাহরণস্বরূপ,
ExampleTest.phpফাইলটি তৈরি করুন।
- আপনার মডিউলের
Unit Test কোড লিখুন:
namespace Drupal\Tests\example\Unit; use Drupal\Tests\UnitTestCase; /** * Example test class. * * @group example */ class ExampleTest extends UnitTestCase { /** * A simple test to check addition. */ public function testAddition() { $result = 2 + 2; $this->assertEquals(4, $result, 'The addition result is correct.'); } }PHPUnit দিয়ে টেস্ট রান করা: PHPUnit টেস্ট চালানোর জন্য কমান্ড ব্যবহার করুন:
./vendor/bin/phpunit -c phpunit.xml.dist
টেস্ট রেজাল্ট দেখা
PHPUnit রান করার পর, এটি টেস্ট রেজাল্ট দেখাবে। সঠিকভাবে টেস্ট পাস করলে, PHPUnit "OK" বলে ফিরিয়ে দেবে। অন্যথায়, টেস্টের ফলস্বরূপ ত্রুটির বার্তা প্রদর্শিত হবে।
২. ড্রুপালে ডিবাগিং (Debugging Techniques)
Debugging হল একটি পদ্ধতি যা কোডের ত্রুটি চিহ্নিত এবং সমাধান করতে ব্যবহৃত হয়। ড্রুপালে ডিবাগিং করার জন্য বিভিন্ন টুল এবং কৌশল রয়েছে, যেগুলি আপনাকে কোডের ত্রুটি চিহ্নিত করতে সহায়তা করবে।
১. ড্রুপাল ডিবাগ মোড চালু করা
ড্রুপালে ডিবাগ মোড চালু করলে আপনি ত্রুটি এবং লগ তথ্য দেখতে পারবেন। এটি উন্নয়ন পরিবেশে কোড ডিবাগিংয়ের জন্য খুবই উপকারী।
settings.phpফাইলে ডিবাগ মোড চালু করা: ড্রুপালেরsettings.phpফাইলে নিচের কোডটি যোগ করুন:$config['system.logging']['error_level'] = 'all';এটি ড্রুপালকে সমস্ত ত্রুটি এবং ডিবাগ তথ্য প্রদর্শন করতে বলবে।
Watchdog লগ: ড্রুপাল Watchdog ফিচার ব্যবহার করে আপনি লগ মেসেজ দেখতে পারেন:
watchdog('example', 'This is a debug message', array(), WATCHDOG_DEBUG);
২. Devel মডিউল ব্যবহার করা
ড্রুপালে Devel মডিউল একটি জনপ্রিয় টুল যা ডিবাগিং এবং টেস্টিংয়ের জন্য ব্যবহৃত হয়। এটি বিভিন্ন ডিবাগিং তথ্য সরবরাহ করে এবং ড্রুপালের বিভিন্ন ডেটা পর্যবেক্ষণ করতে সাহায্য করে।
Devel মডিউল ইনস্টল এবং সক্রিয় করুন:
composer require drupal/devel- Devel মডিউল ব্যবহারের সুবিধা:
dpm() ফাংশন: এটি একটি ভ্যারিয়েবল বা অ্যারেইয়ের মান প্রিন্ট করে।
dpm($variable);- Kint: Kint ডিবাগারটি ড্রুপালে অবজেক্টের ডিটেইলড ভিউ দেখাতে সাহায্য করে।
৩. Xdebug ব্যবহার করা
Xdebug হল একটি PHP ডিবাগিং টুল যা আপনাকে লাইন বাই লাইন কোড ট্র্যাক করতে সাহায্য করে। Xdebug সেটআপ করার মাধ্যমে আপনি ব্রেকপয়েন্ট, স্ট্যাক ট্রেস এবং কোড ভ্যালু দেখতে পারবেন।
Xdebug ইনস্টল করুন:
sudo apt install php-xdebugXdebug কনফিগারেশন:
php.iniফাইলে Xdebug সেটআপ করতে হবে:zend_extension=xdebug.so xdebug.remote_enable = 1 xdebug.remote_host = 127.0.0.1 xdebug.remote_port = 9000- IDE ব্যবহার: Xdebug ব্যবহার করার জন্য আপনাকে একটি IDE (যেমন PhpStorm বা Visual Studio Code) কনফিগার করতে হবে, যাতে আপনি ব্রেকপয়েন্ট ব্যবহার করে কোড ডিবাগ করতে পারেন।
৪. Drush কমান্ড ব্যবহার করা
Drush হল একটি কমান্ড-লাইন টুল যা ড্রুপাল সাইটের অ্যাডমিনিস্ট্রেশন সহজ করে। আপনি Drush ব্যবহার করে সাইটের লগ দেখতে এবং ডিবাগিং তথ্য পেতে পারেন।
Drush ইনস্টল করুন:
composer require drush/drushDrush দিয়ে লগ দেখতে:
drush wsএটি সাইটের ওয়াচডগ লগ দেখাবে।
৩. ড্রুপাল ডিবাগিংয়ের অন্যান্য টিপস
- Error Reporting:
error_reporting(E_ALL)এবংini_set('display_errors', 1)ব্যবহার করে PHP ত্রুটি দেখানো। Drupal Debugging Mode: ড্রুপাল ডিবাগিংয়ের জন্য Twig debug সক্রিয় করা:
$settings['twig_debug'] = TRUE;এটি টেমপ্লেট ফাইলগুলির ডিবাগ তথ্য দেখাতে সাহায্য করবে।
উপসংহার
ড্রুপালে Unit Testing এবং Debugging Techniques সাইটের কোডের গুণগত মান এবং পারফরম্যান্স নিশ্চিত করার জন্য অপরিহার্য। PHPUnit ব্যবহার করে ইউনিট টেস্টিং এবং Devel, Xdebug, এবং Drush এর মাধ্যমে ডিবাগিং টেকনিকগুলি ডেভেলপারদের কোডের সমস্যা চিহ্নিত করতে এবং সমাধান করতে সাহায্য করে। সঠিকভাবে এই টুলগুলি ব্যবহার করলে ড্রুপালের কোডের মান বৃদ্ধি পায় এবং উন্নয়ন প্রক্রিয়া আরও সহজ ও কার্যকরী হয়ে ওঠে।
Read more