存储驱动
存储驱动完成了不同环境下面的文件存取操作,也是thinkphp支持分布式和云平台的基础。
默认的存储驱命名空间位于
Think\Storage\Driver
,每个存储驱动必须继承Think\Storage,并且实现下列接口方法(具体参数可以参考现有的存储驱动类库):
驱动方法 | 方法说明 |
---|---|
架构方法 | __construct($config='') |
读取文件内容 | read($filename,$type='') |
写文件 | put($filename,$content,$type='') |
文件追加 | append($filename,$content,$type='') |
加载文件 | load($filename,$vars=null,$type='') |
判断文件是否存在 | has($filename,$type='') |
删除文件 | unlink($filename,$type='') |
读取文件信息 | get($filename,$name,$type='') |
其中type参数是为了区分不同的读写场景而设置的。
目前使用到的场景包括 runtime(用于编译缓存的文件操作)、HTML(用于静态缓存的文件操作)和F(用于F函数的文件操作)。
要使用自己定义的存储驱动的话,需要在应用入口文件定义:
define('STORAGE_TYPE', 'MyStorage');
存储类型的特殊性决定了我们只能在入口文件中改变存储类型