#ストリーム 関連のプロジェクト
ここ最近psr-7を受けて、streamまわりのコンポーネントを作ったりしてたのでその整理
https://github.com/struggle-for-php/SfpIteratorUrl
- Iterator to stream に出力するのが目的
| <?php | |
| // git clone https://github.com/nikic/PHP-Backporter.git | |
| // git submodule init | |
| // git submodule update | |
| // in PHPBackporter_Converter_Namespace, should change like below. | |
| // $functionDataParser->parse(file_get_contents(dirname(__FILE__).'/../../../function.data')), | |
| $file = $argv[1]; |
| <?php | |
| use Zend\Diactoros\Response; | |
| require_once __DIR__.'/vendor/autoload.php'; | |
| $res = new Response(); | |
| $res->getBody()->write('hello'); | |
| $contents = $res->getBody()->getContents(); | |
| var_dump($contents); // "" |
| <?php | |
| namespace BEAR\Project\Resource\Page; | |
| use BEAR\Resource\ResourceObject; | |
| class Index extends ResourceObject | |
| { |
#ストリーム 関連のプロジェクト
ここ最近psr-7を受けて、streamまわりのコンポーネントを作ったりしてたのでその整理
https://github.com/struggle-for-php/SfpIteratorUrl
| <?php | |
| class CallbackFilter extends php_user_filter | |
| { | |
| public function filter($in, $out, &$consumed, $closing) { | |
| $gen = $this->params['generator']; | |
| $ curl "http://localhost/tmp/diactoros/test.php?bigsize" > /dev/null | |
| % Total % Received % Xferd Average Speed Time Time Time Current | |
| Dload Upload Total Spent Left Speed | |
| 100 10.0M 100 10.0M 0 0 35.9M 0 --:--:-- --:--:-- --:--:-- 35.9M | |
| $ cat memory_get_usage.txt | |
| 10900304 | |
| $ curl "http://localhost/tmp/diactoros/test.php?emitter=streamcopy&bigsize" > /dev/null | |
| % Total % Received % Xferd Average Speed Time Time Time Current |
| <?php | |
| use Doctrine\Common\Collections\ArrayCollection; | |
| use Doctrine\Common\EventManager; | |
| use Doctrine\SkeletonMapper\DataRepository\ArrayObjectDataRepository; | |
| use Doctrine\SkeletonMapper\Hydrator\BasicObjectHydrator; | |
| use Doctrine\SkeletonMapper\Mapping\ClassMetadata; | |
| use Doctrine\SkeletonMapper\Mapping\ClassMetadataFactory; | |
| use Doctrine\SkeletonMapper\ObjectFactory; | |
| use Doctrine\SkeletonMapper\ObjectIdentityMap; |
| <?php | |
| // $ php -d memory_limit=6M ob_start.php | |
| class TempStreamable | |
| { | |
| public $fp; | |
| public function __construct() | |
| { | |
| $OneMB = 1 * 1024 * 1024; |
| <? | |
| while($x = fgets(STDIN)?:die) { | |
| if ($x % 15 == 0): | |
| ?>FIZZBUZZ<? | |
| elseif ($x % 3 == 0): | |
| ?>FIZZ<? | |
| elseif ($x % 5 == 0): | |
| ?>Buzz<? | |
| else: ?>x<? | |
| endif; ?> |
| <?php | |
| // a fork of http://php.net/manual/ja/stream.streamwrapper.example-1.php | |
| class VariableStream { | |
| var $position; | |
| var $varname; | |
| function stream_open($path, $mode, $options, &$opened_path) | |
| { | |
| //$url = parse_url($path); |