medz/stream-wrapper-interface

此包已被弃用且不再维护。未建议替代包。

streamWrapper类的通用接口。

v1.0.1 2016-09-04 09:19 UTC

This package is auto-updated.

Last update: 2023-03-12 04:00:29 UTC


README

此仓库包含所有由streamWrapper定义的接口。

当流函数尝试访问其相关协议时,此类的实例将被初始化。

⚠️注意: 这不是一个真正的类,而是一个定义其自身协议的类的原型。

关于 - 中文

此包实现了streamWrapper中要求的所有接口。

此接口类的实例将可以注册后使用流的形势访问。

⚠️注意: 此包的class不是一个实例,而是一个可以规范实例需要完成的方法的接口类。

Composer

composer require medz/stream-wrapper-interface

示例

use Medz\Component\WrapperInterface\WrapperInterface

class DemoStream implements WrapperInterface
{
    /**
     * Enter description here...
     *
     * @param string $path
     * @param string $mode
     * @param int    $options
     * @param string &$opened_path
     *
     * @return bool
     */
    public function stream_open($path, $mode, $options, &$opened_path)
    {
        // TODO
    }
}

将此对象注册为stream wrapper。注册这个streamWrapper。

stream_register_wrapper('demo', 'DemoStream');

使用这个注册的自定义流协议。使用这个注册的自定义流协议。

// get
file_get_contents('demo://test.txt');

// put
file_put_contents('demo://test.txt', 'This is a test content.');

使用第三方包

(symfony/finder):

use Symfony\Component\Finder\Finder;

$finder = new Finder();
$finder->files()->in('demo://src');

foreach ($finder as $file)
{
    var_dump($file);
}

使用这个接口的阿里云SDK。使用这个接口的阿里云SDK。

medz/oss-stream-wrapper alias medz/aliyun-oss

许可证

MIT