我想从 Zenphoto 的插件中理解以下代码:
$plugin_is_filter = 5|ADMIN_PLUGIN|THEME_PLUGIN;
该片段与上下文脱节。这只是它背后的想法。
5|ADMIN_PLUGIN|THEME_PLUGIN
权限是按位使用的吗?
什么时候有用?
感谢您的任何提示,链接。
我想从 Zenphoto 的插件中理解以下代码:
$plugin_is_filter = 5|ADMIN_PLUGIN|THEME_PLUGIN;
该片段与上下文脱节。这只是它背后的想法。
5|ADMIN_PLUGIN|THEME_PLUGIN
权限是按位使用的吗?
什么时候有用?
感谢您的任何提示,链接。
当您需要在一个变量中提供一组布尔选项时,位域很有用。例如,PHP 允许您像这样设置错误报告:
error_reporting(E_ERROR | E_WARNING | E_PARSE);
在二进制中,这些常量具有以下值:
E_ERROR 0001
E_WARNING 0010
E_PARSE 0100
如果您将一组这样的选项组合在一起,您将能够在一个字段中表达设置:
E_ERROR | E_WARNING | E_PARSE 0111
然后,您可以检查使用 AND 设置的选项:
if ($option & E_ERROR === E_ERROR) {
// E_ERROR is set, do something
}
变量 $plugin_is_filter 用于标记要加载的插件。本质上,它被视为对应于枚举集插件的数组位。有关详细信息,请参阅下面的链接。
这解释了ADMIN_PLUGIN 和 THEME_PLUGIN 是什么。
在页面中搜索“$plugin_is_filter”以获取有关如何使用此变量的简要说明。
http://www.zenphoto.org/news/zenphoto-plugin-architecture
我希望这有帮助。