কম্পিউটার

PHP 7 এ জেনারেটর প্রতিনিধি দল


জেনারেটরের ধারণাটি PHP 7-এ নতুন নয়, কারণ এটি আগের সংস্করণেও উপলব্ধ ছিল। জেনারেটরের সাথে, ইটারেটর ইন্টারফেস প্রয়োগ করে এমন একটি ক্লাস বাস্তবায়নের ওভারহেড ছাড়াই বাস্তবায়ন সহজ হয়ে যায়। একটি জেনারেটরের সাহায্যে আমরা foreach লিখতে পারি মেমরিতে একটি অ্যারে ব্যবহার না করে কোড। এটি "মেমরির সীমা অতিক্রম করার ত্রুটিগুলি" দূর করতেও সাহায্য করে৷

PHP 7-এ জেনারেটর প্রতিনিধির সাহায্যে, আমরা স্বয়ংক্রিয়ভাবে অন্য জেনারেটরে প্রতিনিধিত্ব করতে পারি। এটি অ্যারে এবং অবজেক্টকেও অনুমতি দেয় যা ট্রাভার্সেবল ইন্টারফেস বাস্তবায়ন করে।

জেনারেটর প্রতিনিধিত্ব উদাহরণ 1

<html>
<head>
<title> PHP 7 : Tutorialpoint </title>
</head>
<body>
<?php
   function generator(){
      yield "zero";
      yield "one";
      yield "two";
   }
   function generator1(){
      yield "three";
      yield "four";
      yield "five";
   }
   function generator2(){
      yield "six";
      yield "seven";
      yield "eight";
      yield from generator();
      yield "nine";
      yield from generator1();
      yield "ten";
   }
   foreach (generator() as $value){
      echo $value, PHP_EOL;
   }
   foreach(generator2() as $value){
      echo $value, PHP_EOL;
   }
?>
</body>
</html>

আউটপুট

উপরের PHP প্রোগ্রাম জেনারেটর ডেলিগেশন প্রোগ্রামের আউটপুট হবে −

zero one two six seven eight zero one two nine three four five ten

ব্যাখ্যা

  • আমরা উপরের কোডটি একটি এডিটরে লিখতে পারি এবং উপরের উদাহরণে দেওয়া প্রয়োজনীয় HTML কোড লিখতে পারি এবং HTML এর বডি পার্ট জেনারেটর রিটার্ন এক্সপ্রেশনের জন্য প্রকৃত PHP 7 কোড ইনজেক্ট করে।
  • দ্বিতীয়ভাবে, তিনটি ফাংশন “জেনারেটর”, “জেনারেটর1” এবং “জেনারেটর2” ব্যবহার করে ঘোষণা করা হয়।
  • আমরা জেনারেটর ফাংশনে “শূন্য”, “এক” এবং “দুই” ফলন সংজ্ঞায়িত করেছি।
  • “জেনারেটর1” ফাংশনে, “তিন”, “চার” এবং “পাঁচ” সংজ্ঞায়িত করা হয়েছে।
  • 'জেনারেটর2' ফাংশনে, আমরা জেনারেটর 2-এ জেনারেটর এবং জেনারেটর 1 পড়ি "ছয়", "সাত" এবং "আট" ফলন সংজ্ঞায়িত করেছি।
  • অবশেষে, আমরা "জেনারেটর" এবং "জেনারেটর2" ফাংশনে পুনরাবৃত্তি করছি যতক্ষণ না ফলনের মানগুলি প্রতিধ্বনিত হয়৷

  1. জাভাস্ক্রিপ্ট জেনারেটর

  2. পিএইচপি জেনারেটর বনাম ইটারেটর অবজেক্ট

  3. পিএইচপি পাই() ফাংশন

  4. পাইথনে জেনারেটর?