1. 程式人生 > >PHP量級數據遍歷方案:yield生成器

PHP量級數據遍歷方案:yield生成器

rep one AS eat inf pes IE fun stat

<?php /** * Created by PhpStorm. * User: zrj * Date: 18-6-22 * Time: 上午10:49 */ declare(strict_types=1);//開啟強類型模式 class DB { private static $instance = null; private static $sth = null; private function __construct() { try { $dsn = "mysql:host=192.168.1.9;dbname=yundou_v3"; static::$instance = new \PDO($dsn, ‘user‘, ‘password‘); } catch (PDOException $e) { echo ‘Connection failed: ‘ . $e->getMessage(); exit(); } static::$instance->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false); } public static function getInstance() { if (!(static::$instance instanceof \PDO)) { new static(); } return static::$instance; } public static function excuteQuery(string $sql) { static::$sth = static::$instance->prepare($sql); static::$sth->execute(); } //防止實例被克隆 private function __clone() { } public static function cursor() { while ($row = static::$sth->fetch(\PDO::FETCH_ASSOC)) { yield $row; } } } DB::getInstance(); DB::excuteQuery("select * from bill_info"); foreach (DB::cursor() as $info) { echo $info[‘id‘] . PHP_EOL; }

PHP量級數據遍歷方案:yield生成器