跳到主要内容

命名规范

PHP

WooCommerce 核心通常遵循 WordPress PHP 命名规范

根据代码的位置,还存在一些额外的规范。

/src

/src 目录下的类遵循 PSR-4 标准。有关更多信息,请参阅 [/src] 的 README

以下规范适用于此目录:

  • 不需要类名前缀,因为此位置的所有类都位于 Automattic\WooCommerce 命名空间中。
  • 类名使用 CamelCase 规范。
  • 函数名使用 snake_case 规范。
  • 类文件名应与类名匹配。它们不需要 class- 前缀。
  • 命名空间应与目录结构匹配。
  • Hook 前缀为 woocommerce_
  • Hook 使用 snake_case 规范。

例如,src/Util/StringUtil.php 中定义的类应命名为 StringUtil,并位于 Automattic\WooCommerce\Util 命名空间中。

/includes

/includes 目录包含不遵循 PSR-4 标准的旧代码。有关更多信息,请参阅 [/includes] 的 README

以下规范适用于此目录:

  • 类名前缀为 WC_
  • 类名使用 Upper_Snake_Case 规范。
  • 函数名前缀为 wc_
  • 函数名使用 snake_case 规范。
  • Hook 前缀为 woocommerce_
  • Hook 使用 snake_case 规范。

类名示例:

  • WC_Cache_Helper
  • WC_Cart

函数名示例:

  • wc_get_product()
  • wc_is_active_theme()

Hook 名示例(操作或过滤器):

  • woocommerce_after_checkout_validation
  • woocommerce_get_formatted_order_total

JS

WooCommerce 核心遵循 WordPress JS 命名规范

与 PHP 类似,函数、类和 Hook 名称应添加前缀,但 JS 的规范略有不同。

  • 全局类名前缀为 WC。从模块导出的类名不添加前缀。
  • 类名使用 UpperCamelCase 规范。
  • 全局函数名前缀为 wc。从模块导出的函数名不添加前缀。
  • 函数名使用 camelCase 规范。
  • Hook 名前缀为 woocommerce
  • Hook 使用 camelCase 规范。

全局类名示例:

  • WCOrdersTable

全局函数名示例:

  • wcSettings()

Hook 名示例(操作或过滤器):

  • woocommerceTracksEventProperties

CSS and SASS

请参阅 CSS/Sass 命名规范