bdunogier / ezdispatchabledfs
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 not auto-updated.
Last update: 2024-09-10 07:34:56 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
可以从eZ Publish(新堆栈或旧版本)通过composer安装它
composer require "ezsystems/ezdfs-fsbackend-dispatcher:~1.0@beta"
或者通过将"ezsystems/ezdfs-fsbackend-dispatcher": "~1.0@beta"
添加到您的项目的composer.json文件中。
配置
由于INI设置加载顺序的限制,一些设置不能存储在扩展INI文件中,而应存储在全局覆盖中。
设置/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()
方法进行构建。
如果需要进行任何类型的初始化或注入,可以在该方法中完成。
一个典型的设置/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
必须在全局覆盖中明确配置才能被考虑。