插件系统中的问题(PHP)


Matters in plugin systems (PHP)

我用WP的想法做了一个插件系统。但是有一些点,我不知道用户在那时候应该怎么做,例如,如果一个用户为自己写了一个插件,函数或方法的名字和其他插件的名字一样,那么他应该怎么做?当然,我解释过,当函数不存在时,在每个函数的开头使用你的插件名,然后在我的插件系统定义中定义它。

if ( ! function_exists ( plugin_... ) ) {
  function plugin_... () {
  }
}

你知道吗?

BTW是纯WP插件系统的分类和概念吗?

在设计插件系统时,插件确实应该是类。那么唯一可能的名称冲突就是类名。

作为一种选择,你可以使用一种命名约定,即所有插件函数都应该有一个前缀。这在某种程度上完成了与类相同的事情,但它是重复的。

PHP名称空间正是用于此http://php.net/manual/en/language.namespaces.php