ezsystems / ezdfs-fsbackend-dispatcher
eZ Publish Dispatcher DFS后端
Requires (Dev)
- mockery/mockery: dev-master
- phpunit/phpunit: 3.7.*
Suggests
- ezsystems/ezdfs-fsbackend-aws-s3: Store and serve binary files to an Amazon S3 bucket
This package is auto-updated.
Last update: 2024-09-19 11:33:02 UTC
README
这是什么?
此扩展本身不会提供任何新的最终用户功能。
此扩展提供了一个自定义DFSBackend,根据文件的路径将调用分配到自定义列表中的后端。
这使得可以将一些存储子目录存储到自定义处理程序中,例如基于云的处理程序。
实际处理程序
一个可用的AWS-S3处理程序,将二进制文件存储到Amazon S3:http://github.com/ezsystems/ezdfs-fsbackend-aws-s3。
要求
- eZ Publish master (5.4.0-dev 或 2014.05)。
- 已配置eZ DFS(NFS本身无关紧要,本地目录同样可以工作)
安装
使用composer
它可以通过composer从eZ Publish,新栈或旧栈进行安装
composer require "ezsystems/ezdfs-fsbackend-dispatcher:~1.0@beta"
或者将"ezsystems/ezdfs-fsbackend-dispatcher": "~1.0@beta"
添加到您的项目的composer.json中。
配置
由于INI设置加载顺序限制,一些设置不能存储在扩展INI文件中,而是存储在全局覆盖中。
settings/file.ini.append.php文件的内容必须复制到settings/override/file.ini.append.php
中,或者显然合并到其中,因为它应该已经存在。
后端通过在file.ini中添加它们的类名到DFSBackends数组进行配置。这将使调度程序将路径以var/ezdemo_site/storage/images
开头的文件的操作发送到MyCustomBackend。
PathBackends[var/ezdemo_site/storage/images]=MyCustomBackend
优先级是简单的先到先得。与PathBackends
中的任何路径都不匹配的路径将由默认设置为eZDFSFileHandlerDFSBackend
的DispatchableDFS.DefaultBackend
处理。
后端初始化
默认情况下,后端使用简单的"new $class"进行实例化。但如果后端实现了eZDFSFileHandlerDFSFactoryBackendInterface
接口,它将通过调用静态build()
方法进行构建。
如果需要任何类型的初始化或注入,可以在该方法中完成。
一个典型的启用自定义处理程序的settings/override/file.ini.append.php可能如下所示
[ClusteringSettings] FileHandler=eZDFSFileHandler [eZDFSClusteringSettings] MountPointPath=/media/nfs DFSBackend=eZDFSFileHandlerDFSDispatcher DBHost=cluster_server DBName=db_cluster DBUser=root DBPassword= MetaDataTableNameCache=ezdfsfile_cache [DispatchableDFS] DefaultBackend=eZDFSFileHandlerDFSBackend PathBackends[var/site/storage/images]=MyCustomBackend
请记住,DefaultBackend
必须在全局覆盖中显式配置,才能考虑它。