Computer >> Máy Tính >  >> Lập trình >> PHP

Ủy quyền trình tạo trong PHP 7


Khái niệm về trình tạo không phải là mới đối với PHP 7, vì nó cũng đã có sẵn trong các phiên bản trước đó. Với trình tạo, việc triển khai trở nên dễ dàng mà không cần phải triển khai một lớp triển khai giao diện trình lặp. Với sự trợ giúp của trình tạo, chúng ta có thể viết foreach mã mà không sử dụng một mảng trong bộ nhớ. Nó cũng giúp loại bỏ “lỗi vượt quá giới hạn bộ nhớ”.

Với sự trợ giúp của ủy quyền trình tạo trong PHP 7, chúng ta có thể ủy quyền cho trình tạo khác một cách tự động. Nó cũng cho phép các mảng và đối tượng triển khai giao diện có thể duyệt.

Ủy quyền bộ tạo Ví dụ 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>

Đầu ra

Đầu ra cho chương trình ủy quyền trình tạo chương trình PHP ở trên sẽ là -

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

Giải thích

  • Chúng tôi có thể viết đoạn mã trên trong một trình chỉnh sửa và có thể viết mã HTML bắt buộc như được đưa ra trong ví dụ trên và phần nội dung của HTML sẽ chèn mã PHP 7 thực tế cho biểu thức trả về của trình tạo.
  • Thứ hai, ba chức năng được khai báo bằng cách sử dụng “trình tạo”, “trình tạo 1” và “trình tạo 2”.
  • Chúng tôi đã xác định lợi nhuận “không”, “một” và “hai” trong hàm trình tạo.
  • Trong hàm “create1”, lợi nhuận “ba”, “bốn” và “năm” đã được xác định.
  • Trong chức năng "maker2", chúng tôi đã xác định năng suất "sáu", "bảy" và "tám" đọc trình tạo và trình tạo 1 trong trình tạo 2.
  • Cuối cùng, chúng tôi đang lặp lại trên hàm "" máy phát điện "và" bộ tạo điện tử2 "cho đến khi kết thúc việc lặp lại các giá trị của kết quả.