DaoKeCMS插件开发中常见的function_exists守卫遗漏坑:
模板直接调用插件函数不加function_exists守卫,插件停用后模板白屏。
// 错误!无守卫
$cats = ng_get_cats();
foreach ($cats as $c) { /* ... */ }
// 正确!有守卫
if (function_exists('ng_get_cats')) {
$cats = ng_get_cats();
} else {
$cats = [];
}
// 简写
$cats = function_exists('ng_get_cats') ? ng_get_cats() : [];