首页 > 其他分享 >TP5框架 之自定义标签

TP5框架 之自定义标签

时间:2024-02-02 15:23:18浏览次数:35  
标签:uid 自定义 标签 auth content TP5 tag rule

一、创建控制器

<?php
namespace app\common\taglib;


use think\auth\Auth;
use think\template\TagLib;

class MyTag extends TagLib
{
    protected $tags = [
        'auth' => ['attr' => 'rule', 'close' => 1]
    ];

    /**
     * 权限判断标签
     * @param $tag
     * @param $content
     * @return string
     */
    public function tagAuth($tag, $content)
    {
        $rule = $tag['rule'];
        $auth = new Auth();
        $uid = session('uid');
        $res = $auth->check($rule, $uid);
        $parseStr  = '<?php if(' . intval($res) . '): ?>' . $content .'<?php endif; ?>';
        return $parseStr;
    }
}

二、配置

三、使用

{auth rule='Group/index'}
<a href="{:url('Group/index')}">用户组</a> 
{/auth}

 

标签:uid,自定义,标签,auth,content,TP5,tag,rule
From: https://www.cnblogs.com/yang-2018/p/18003240

相关文章

  • OpenWrt之自定义Firmware Version
    OpenWrt之自定义FirmwareVersion首先,找到显示FirmwareVersion的代码,在/usr/lib/lua/luci/version.lua中:root@OpenWrt:/usr/lib/lua/luci#catversion.lualocalpcall,dofile,_G=pcall,dofile,_Gmodule"luci.version"ifpcall(dofile,"/etc/openwrt_rele......
  • 如何创建自定义启动器
    对于要自定义启动器,我们首先分析下此依赖结构,随后再创建maven项目就拿SpringBoot起步依赖来说。1.首先需要创建一个父工程如名称aliyun-parentd,编写pom.xml文件中的内容(1).修改打包方式为pom(2).继承springboot起步依赖名称是spring-boot-parent-starter2.后面需要创建你所......
  • 自定义jdk镜像
    1、安装docker这里使用Ubuntu系统安装docker,方便一点(偷懒)apt-getinstalldocker.io-y安装不了可以试试阿里云镜像源,在/etc/apt/sources.list.d/下新增文件:aliyun.sources.list,写入如下内容(ubuntu22.04示例,其他版本参考:ubuntu镜像_ubuntu下载地址_ubuntu安装教程-阿里巴巴......
  • 无边框 自定义页面 圆角 自定义关闭按钮 wfp 钱包夹
    无边框自定义页面圆角 自定义关闭按钮wfp钱包夹C#.net4.8wpfSqlServer2012消息队列Redis 来源银柱网-李银柱个人博客http://www.liyinzhu.com......
  • vue3,封装检测元素大小变化的自定义指令
    1//resizeObserver.ts2//监听元素大小变化的指令3constmap=newWeakMap()4constob=newResizeObserver((entries)=>{5for(constentryofentries){6//获取dom元素的回调7consthandler=map.get(entry.target)8//存在回调函......
  • 博客园自定义主题
    开源项目非常感谢作者的工作,下面是github主页和官方文档https://github.com/BNDong/Cnblogs-Theme-SimpleMemoryhttps://bndong.github.io/Cnblogs-Theme-SimpleMemory/v2.1/dist/三方教程https://www.cnblogs.com/chenkeer/p/15193179.html常见错误说明修改后,博客页面一......
  • Day63 异常03:自定义异常及经验小结
    自定义异常使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常。用户自定义异常类,只需继承Exception类即可。在程序中使用自定义异常类,大体可分为以下几个步骤:创建自定义异常类。在方法中通过throw关键字抛出异常对象。如果在当......
  • Java调用ChatGPT(基于SpringBoot和Vue)实现连续对话、流式输出和自定义baseUrl
     源码及更详细的介绍说明参见Git上的README.md文档https://github.com/asleepyfish/chatgpt本文Demo(SpringBoot和Main方法Demo均包括)的Git地址:https://github.com/asleepyfish/chatgpt-demo流式输出结合Vue前端的Demo的Git地址:https://github.com/asleepyfish/chatg......
  • easyui-datagrid 加载数据 方法二 ( 自定义返回值 json方式)
    效果图 html部分<tableclass="my_table"><tr><tdclass='my_dt_label'>主叫号码:</td><tdclass='my_dt_field'><inputtype='text'id='select_callerid&......
  • 为什么多个 JSX 标签需要被一个父元素包裹?
    JSX虽然看起来很像HTML,但在底层其实被转化为了JavaScript对象,你不能在一个函数中返回多个对象,除非用一个数组把他们包装起来。这就是为什么多个JSX标签必须要用一个父元素或者Fragment来包裹。JSX最终会被转化为JavaScript,而JSX中的属性也会变成JavaScript对象中......