immediate/im-fabric-wordpress

此包已被弃用且不再维护。未建议替代包。

Immediate Fabric WordPress支持包

1.3.0 2018-08-07 16:16 UTC

This package is not auto-updated.

Last update: 2019-01-29 14:51:30 UTC


README

Immediate Fabric WordPress支持包。

简介

此包旨在解决在WordPress开发中存在的两个主要问题

  • 可测试性;
  • 松散类型。

通过在抽象层中包装对WordPress的某些调用,解决了第一个问题,允许单元测试可靠地模拟这些调用。

通过将松散类型参数转换为更可预测和可测试的实体,解决了松散类型问题。

安装

此包作为一个支持包,通常在使用Fabric插件骨架时自动安装。目前,需要在您的插件的composer.json文件中包含仓库引用。

"repositories": [
    {
        "type": "vcs",
        "url": "git@github.immediate.co.uk:WCP-Packages/im-fabric-wordpress.git"
    }
],

要求

  • PHP >=7.1
  • WordPress

使用

此包尽可能地匹配原始WordPress函数名称,以减少使用WordPress功能时的学习曲线和可能的混淆。大部分情况下,WordPress的snake_case函数被简单地替换为camelCase方法。

操作

addAction(string $hook, Action $action)

为钩子包装WordPress add_action函数。

使用

而不是作为第二个参数的标准可调用函数,addAction()期望一个严格类型的Action对象。

doAction(string $hook[, mixed $arg])

为钩子包装WordPress do_action函数。

使用

此方法与原始功能匹配。

removeAction(string $hook, Action $action)

为钩子包装WordPress remove_action函数。

使用

而不是作为第二个参数的标准可调用函数,removeAction()期望与原始Action添加的完全相同的实例。如果在Action内部调用removeAction(),可以将$this作为Action参数传递。

过滤器

addFilter(string $hook, Filter $filter)

为钩子包装WordPress add_filter函数。

使用

而不是作为第二个参数的标准可调用函数,addFilter()期望一个严格类型的Filter对象。

applyFilters(string $hook, mixed $value)

WordPress apply_filters 函数钩子的包装器。

用法

此方法与原始功能匹配。

removeFiler(string $hook, Filter $filter)

WordPress remove_filter 函数钩子的包装器。

用法

与第二个参数的标准可调用对象不同,removeFilter() 需要原始 Filter 添加时的确切实例。如果在 Filter 内部调用 removeFilter(),可以将 $this 作为 Filter 参数传递。

菜单

registerMenuLocation(MenuLocation $menuLocation)

菜单位置的 WordPress register_nav_menu 函数的包装器。

用法

而不是分别传递位置和描述的字符串参数,registerMenuLocation() 需要一个严格的类型 MenuLocation 对象。

小工具

registerWidgetArea(WidgetArea $widgetArea)

小工具区域的 WordPress register_sidebar 函数的包装器。

用法

而不是传递包含小工具区域详情的数组,registerWidgetArea() 需要一个严格的类型 WidgetArea 对象。

registerWidget(Widget $widget)

小工具的 WordPress register_widget 函数的包装器。

用法

此方法与原始功能类似,但仅接受严格的类型 Widget 对象。