挂钩点名称
cms_init
用法举例
/config/hooks.php
// appname指插件目录,表示这个插件在调用,方便排查是哪个插件在调用这个钩子
\Phpcmf\Hooks::app_on('appname', 'cms_init', function() {
// 在网站初始化之后,加载模板之前执行的程序,例如判断用户是否登录
});比如判断[前端的]全站用户的前端登录
// appname指插件目录,表示这个插件在调用,方便排查是哪个插件在调用这个钩子
\Phpcmf\Hooks::app_on('appname', 'cms_init', function() {
// 在网站初始化之后(不适用于静态页面)
if (IS_ADMIN ) {
return; // 后台跳过
} elseif(IS_MEMBER) {
return; // 用户中心跳过
} elseif (IS_API) {
return; // api跳过
} elseif(IS_API_HTTP) {
return; // api跳过
} elseif (in_array(\Phpcmf\Service::L('Router')->class, ['register', 'login', 'api', 'pay'])) {
return; // 登录相关地址跳过
}
if (!\Phpcmf\Service::C()->uid) {
// 表示未登录 跳转登录页面
dr_redirect(dr_member_url('login/index'));exit;
}
});有站啦CMS®万能建站系统基于 CodeIgniter4 高性能的开发框架,支持接入Laravel、ThinkPHP三种内核可选,基于MIT开源许可协议,免费且不限制商业使用。 提供PC + 手机 + 微信 + 小程序 + APP API + 多终端一体化网站技术解决方案。