Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

การมอบหมายตัวสร้างใน 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 จริงสำหรับนิพจน์การส่งคืนตัวสร้าง
  • ประการที่สอง มีการประกาศฟังก์ชัน 3 ฟังก์ชันโดยใช้ "generator", "generator1" และ "generator2"
  • เรากำหนดผลตอบแทนเป็น “ศูนย์” “หนึ่ง” และ “สอง” ในฟังก์ชันตัวสร้าง
  • ในฟังก์ชัน "generator1" มีการกำหนดผลตอบแทนเป็น "สาม" "สี่" และ "ห้า"
  • ในฟังก์ชัน 'generator2' เราได้กำหนดอัตราผลตอบแทน"six", "seven" และ "eight" อ่านตัวสร้างและตัวสร้าง 1 ในเครื่องกำเนิดไฟฟ้า2
  • สุดท้ายนี้ เรากำลังวนซ้ำในฟังก์ชัน "generator" และ "generator2" จนกว่าจะสิ้นสุดการสะท้อนค่าของผลตอบแทน