প্রকল্প সম্পর্কে
এই প্যাকেজটি Chrome DevTools প্রোটোকলের জন্য একটি PHP ক্লায়েন্ট প্রদান করে, যা Chrome/Chromium ব্রাউজার প্রোগ্রাম্যাটিকভাবে নিয়ন্ত্রণ করতে ব্যবহৃত ইন্টারফেস। এটি jakubkulhan/chrome-devtools-protocol নামে Composer-এর মাধ্যমে বিতরণ করা হয় এবং MIT লাইসেন্সের অধীনে রয়েছে।
README-তে প্রদর্শিত মূল ক্ষমতাগুলি:
- Launcher ক্লাসের মাধ্যমে Chrome প্রক্রিয়া চালু করা, যেখানে Context অবজেক্ট অপারেশনের সময়সীমা নির্ধারণ করতে ব্যবহৃত হয় (উদাহরণস্বরূপ 30-সেকেন্ডের টাইমআউট)।
- চালু করা ইনস্ট্যান্সে ট্যাব খোলা এবং সক্রিয় করা, তারপর সেই ট্যাবের জন্য DevTools ক্লায়েন্ট পাওয়া।
- Page ডোমেইন সক্ষম করা, URL-এ নেভিগেট করা এবং লোড ইভেন্টের জন্য অপেক্ষা করার মতো পৃষ্ঠা অপারেশন চালানো।
- পৃষ্ঠা থেকে আউটপুট তৈরি করা, যার মধ্যে PDF-এ প্রিন্ট করা এবং কনফিগারযোগ্য ফরম্যাট ও মানের সাথে স্ক্রিনশট ক্যাপচার করা অন্তর্ভুক্ত।
- জীবনচক্র স্পষ্টভাবে পরিচালনা করা: DevTools ক্লায়েন্ট বন্ধ করতে হবে এবং শেষ হলে ব্রাউজার প্রক্রিয়াটি বন্ধ করতে হবে।
বিচ্ছিন্ন ব্রাউজার কনটেক্সট:
লাইব্রেরিটি হেডলেস Chrome ব্রাউজার কনটেক্সট সমর্থন করে, যা ইনকগনিটো উইন্ডোর মতো বর্ণনা করা হয়েছে যেখানে কুকি এবং লোকাল স্টোরেজ ভাগ করা হয় না। ইনকগনিটো উইন্ডোর বিপরীতে, একাধিক বিচ্ছিন্ন ব্রাউজার কনটেক্সট একই সাথে থাকতে পারে। এইভাবে তৈরি একটি সেশন ট্যাবের devtools() পদ্ধতি দ্বারা ফেরত দেওয়া একই DevtoolsClientInterface প্রয়োগ করে।
বিদ্যমান ব্রাউজারে সংযোগ:
একটি Instance সরাসরি হোস্ট এবং পোর্ট থেকে তৈরি করা যেতে পারে (উদাহরণস্বরূপ localhost:9222), যা ক্লায়েন্টকে ইতিমধ্যে চলমান Chrome ব্রাউজারে সংযুক্ত হতে দেয়। এই মোডে কোনো নতুন প্রক্রিয়া শুরু হয় না, তাই ইনস্ট্যান্স বন্ধ করার প্রয়োজন নেই।
README-তে PHP-তে ব্যবহারের উদাহরণ দেখানো হয়েছে যা কনটেক্সট তৈরি, লঞ্চিং, ট্যাব হ্যান্ডলিং, DevTools কল এবং পরিষ্কার করার বিষয়টি কভার করে। বিল্ড স্ট্যাটাস, স্থিতিশীল সংস্করণ এবং লাইসেন্স ব্যাজ যথাক্রমে CircleCI, Packagist এবং লাইসেন্স ফাইলের সাথে লিঙ্ক করা আছে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.