Drupal 文件系统剖析(二)

归类于Drupal 2 条评论

前一篇我们分析了drupal的FileAPI和Stream Wrapper的关系,本文趁热打铁,继续分析一下Drupal的Files系统,以便对Drupal的文件处理更加熟悉。
参考上篇:File System和Stream Wrapper的原理介绍

如何实现自有的StreamWrapper

看一个Drupal大学上的提问:《Drupal中如何实现自有的StreamWrapper》,通过上篇文章的阅读,我们简单总结一下。
1. 写一个class,实现DrupalStreamWrapperInterface的接口
2. 实现一个hook,hook_stream_wrappers,返回这个StreamWrapper,通知给Drupal。
通过上面两个简单的步骤就实现了Drupal里面一个自有的streamWrapper。

阅读全文 《Drupal 文件系统剖析(二)》

840 Views , , , ,

File System和Stream Wrapper的原理介绍

归类于Drupal 参与评论

在Drupal7以及PHP(也不知那个版本)后,多了一个概念:Stream,主要用来表示文件流。BTW,追溯起Stream的概念,这个应该很早在Java和C#等OOP的语言中已存在,PHP只是简单的封装了file/file_get_content等函数,使用起来方便,所以PHPer们更少的在意stream以及整个底层的操作。

当我们使用一个完整的框架(如:drupal框架),Drupal又更加完善了PHP中stream的概念和使用方式,使其更加OO,更加易用。

注意:PHP本身是支持StreamWrapper的,Drupal只是对其进行完善,因此PHP的函数,如move、fopen、move_uploaded_file等函数是直接可以用scheme的形式访问(类似php://的形式),在PHP中增加一个streamwrapper需要注册一个,需要调用stream_wrapper_register函数。
详情参考: http://php.net/..class.streamwrapper.php

阅读全文 《File System和Stream Wrapper的原理介绍》

817 Views , ,

顶部