1 Star 0 Fork 12

六眼飞鱼 / PHP Generator Yield Demo

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
Clone or Download
whatIsGenerator.php 2.16 KB
Copy Edit Raw Blame History
<?php
require __DIR__ . '/yieldFunctions.php';
/* ------ how to create a generator by function ------ */
$gen = false_yield_func1();
echo 'false_yield_func1 is PHP Generator :';
var_export($gen instanceof Generator);
echo PHP_EOL . PHP_EOL;
$gen = yield_func1();
echo 'yield_func1 is PHP Generator :';
var_export($gen instanceof Generator);
echo PHP_EOL . PHP_EOL;
$gen = yield_func2(false);
echo 'yield_func2 is PHP Generator :';
var_export($gen instanceof Generator);
echo PHP_EOL . PHP_EOL;
$gen = yield_func3(false);
echo 'yield_func3 is PHP Generator :';
var_export($gen instanceof Generator);
echo PHP_EOL . PHP_EOL;
$gen = yield_func4();
echo 'yield_func4 is PHP Generator :';
var_export($gen instanceof Generator);
echo PHP_EOL . PHP_EOL;
$gen = yield_func5();
echo 'yield_func5 is PHP Generator :';
var_export($gen instanceof Generator);
echo PHP_EOL . PHP_EOL;
$gen = yield_func6();
echo 'yield_func6 is PHP Generator :';
var_export($gen instanceof Generator);
echo PHP_EOL . PHP_EOL;
$gen = yield_func8();
echo 'yield_func8 is PHP Generator :';
var_export($gen instanceof Generator);
echo PHP_EOL . PHP_EOL;
// 以下4代码运行会导致不可捕获的报错
//try {
// $gen = yield_func11();
//} catch (\Exception $e) {
// print_r($e->getMessage() . PHP_EOL);
//}
//echo 'yield_func11 is PHP Generator :';
//var_export($gen instanceof Generator);
//echo PHP_EOL . PHP_EOL;
$obj = new YieldClass1();
$gen = $obj->yield_method1();
echo 'YieldCalss1->yield_method1 is PHP Generator :';
var_export($gen instanceof Generator);
echo PHP_EOL;
$gen = YieldClass1::yield_method2();
echo 'YieldClass1::yield_method2 is PHP Generator :';
var_export($gen instanceof Generator);
echo PHP_EOL . PHP_EOL;
$gen = call_user_func('yield_func4');
echo 'call_user_func yield_func4 is PHP Generator :';
var_export($gen instanceof Generator);
echo PHP_EOL . PHP_EOL;
$gen = call_user_func_array('yield_func4', array());
echo 'call_user_func_array yield_func4 is PHP Generator :';
var_export($gen instanceof Generator);
echo PHP_EOL . PHP_EOL;
$funcName = 'yield_func12';
$gen = $funcName();
echo 'call "yield_func12" is PHP Generator :';
var_export($gen instanceof Generator);
echo PHP_EOL . PHP_EOL;
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
PHP
1
https://gitee.com/GreatHeaven/PHP-generator-yield-Demo.git
git@gitee.com:GreatHeaven/PHP-generator-yield-Demo.git
GreatHeaven
PHP-generator-yield-Demo
PHP Generator Yield Demo
master

Search

Bbcd6f05 5694891 0cc6727d 5694891