["a" => "un", "b" => "deux"], "eng" => ["a" => "one", "b" => "two"], ["a" => 1, "b" => 2], ]; foreach ($data as $key => $item) { msg::info("yield $key"); yield $key => $item; sleep(2); } msg::info("fin gendata"); } function testUsage() { $data = cache::all($this->gendata(),"gendata"); $count = 0; foreach ($data as $key => $item) { msg::info("got $key => ".var_export($item, true)); $count++; } self::assertSame(3, $count); } }