主程序运行之后 cms_init

2022-09-27 11:26 0

挂钩点名称

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;
   }
});
咨询
微信
电话