waltertamboer / sabredav-module
SabreDav模块的一个Zend Framework 2模块,在尊重ZF2应用程序流程的同时与SabreDav一起工作。
Requires
- php: >=5.5
- sabre/dav: ~3.0
- zendframework/zendframework: ~2.5
This package is not auto-updated.
Last update: 2024-09-14 18:20:23 UTC
README
一个在处理SabreDav时尊重Zend Framework应用程序流程的Zend Framework 2模块。
入门
建议通过 Composer 安装此库。
{ "require": { "waltertamboer/sabredav-module": "dev-master" } }
接下来,将配置文件从 vendor/waltertamboer/sabredav-module/config/sabredav.config.global.dist.php
复制到 config/autoload/sabredav.config.global.php
。
配置
配置文件包含一个 sabredav
键,它是一个数组。数组中的每个条目都被视为SabreDav的入口点。这样就可以将CalDav、CardDav和WebDav URL分开。基本配置如下所示
'sabredav' => array(
'dav' => array(
'enabled' => true,
'route' => 'my-route',
'nodes' => array(
// All nodes that are supported
),
'plugins' => array(
// All plugins that are supported
),
),
),
dav
键很重要。它应该匹配稍后解释的控制器的名称。数组包含四个条目:启用、路由、节点和插件。
- 启用 简单地表示此入口点是否当前启用。
- 路由 包含用于调用此入口点的路由名称。
- 节点 是支持SabreDav节点的列表。这样就可以只为CardDav设置,例如。
- 插件 是支持SabreDav插件的列表。
节点
可以配置服务器,以便为CalDav、CardDav和WebDav创建不同的入口点。也可以将这三个合并到一个入口点中。默认配置文件(如模块中提供)包含一个将CalDav、CardDav和WebDav组合在一起的设置。
每个节点都是一个具有 name
和 options
元素的数组。名称应该是有效的节点服务。选项数组用于将额外的参数传递给节点服务。支持以下节点
- caldav - 为服务器添加CalDav支持。
- carddav - 为服务器添加CardDav支持。
- directory - 为服务器添加WebDav支持。
- principal - 为服务器添加多个用户的支持。
插件
插件可用于向SabreDav服务器添加额外支持。它们简单地对应于SabreDav提供的插件。
每个插件都是一个具有 name
和 options
元素的数组。名称应该是有效的插件服务。选项数组用于将额外的参数传递给插件服务。支持以下插件
- acl
- auth
- browser
- caldav
- carddav
- lock
- mount
- partial
- property
- schedule
- subscription
- sync
路由器
此模块包含一个名为“sabredav-dav”的预设路由。可以添加其他路由以创建新的入口点。设置路由类型为 SabreDavModule\\Mvc\\Router\\Http\\SabreDav
,它简单地充当通配符路由。
控制器名称 必须 以 sabredavmodule.
开头。点之后的所有内容将被视为入口点的名称。此字符串将用于在 sabredav
配置数组中查找配置。
'router' => array(
'routes' => array(
'sabredav-dav' => array(
'type' => 'SabreDavModule\\Mvc\\Router\\Http\\SabreDav',
'options' => array(
'regex' => '/dav/(?<slug>.*)',
'spec' => '/dav/%slug%',
'defaults' => array(
'controller' => 'sabredavmodule.dav',
'action' => 'index',
),
),
),
),
),
待办事项
- 此模块尚未进行单元测试。
- 一旦编写了单元测试,应该将Travis CI连接起来。
- 缺少Docblocks
- README文件应包含显示模块稳定性的徽章。