<?php
/**
* 易优CMS
* ============================================================================
* 版权所有 2016-2028 海南赞赞网络科技有限公司,并保留所有权利。
* 网站地址: http://www.eyoucms.com
* ----------------------------------------------------------------------------
* 如果商业用途务必到官方购买正版授权, 以免引起不必要的法律纠纷.
* ============================================================================
* Author: 小虎哥 <1105415366@qq.com>
* Date: 2018-4-3
*/
namespace think\template\taglib;
use think\template\TagLib;
/**
* eyou标签库解析类
* @category Think
* @package Think
* @subpackage Driver.Taglib
* @author 小虎哥 <1105415366@qq.com>
*/
class Eyou extends Taglib
{
// 标签定义
protected $tags = [
// 标签定义: attr 属性列表 close 是否闭合(0 或者1 默认1) alias 标签别名 level 嵌套层次
'php' => ['attr' => ''],
'channel' => ['attr' => 'typeid,reid,type,row,currentstyle,id,name,key,empty,mod,titlelen,offset,limit'],
'channelartlist' => ['attr' => 'typeid,type,row,id,key,empty,titlelen,mod'],
'arclist' => ['attr' => 'channelid,typeid,notypeid,row,offset,titlelen,limit,orderby,orderWay,noflag,flag,infolen,empty,mod,name,id,key,addfields,tagid,pagesize'],
'arcpagelist'=> ['attr' => 'tagid,pagesize,id,tips,loading'],
'list' => ['attr' => 'channelid,typeid,notypeid,pagesize,titlelen,orderby,orderWay,noflag,flag,infolen,empty,mod,id,key,addfields'],
'pagelist' => ['attr' => 'listitem,listsize', 'close' => 0],
'position' => ['attr' => 'symbol,style', 'close' => 0],
'type' => ['attr' => 'typeid,type,empty,dirname,id,addfields,addtable'],
'arcview' => ['attr' => 'aid,empty,id,addfields'],
'arcclick' => ['attr' => '', 'close' => 0],
'load' => ['attr' => 'file,href,type,value,basepath', 'close' => 0, 'alias' => ['import,css,js', 'type']],
'guestbookform'=> ['attr' => 'typeid,type,empty,id,mod,key'],
'assign' => ['attr' => 'name,value', 'close' => 0],
'empty' => ['attr' => 'name'],
'notempty' => ['attr' => 'name'],
'foreach' => ['attr' => 'name,id,item,key,offset,length,mod', 'expression' => true],
'volist' => ['attr' => 'name,id,offset,length,key,mod,limit,row', 'alias' => 'iterate'],
'if' => ['attr' => 'condition', 'expression' => true],
'elseif' => ['attr' => 'condition', 'close' => 0, 'expression' => true],
'else' => ['attr' => '', 'close' => 0],
'switch' => ['attr' => 'name', 'expression' => true],
'case' => ['attr' => 'value,break', 'expression' => true],
'default' => ['attr' => '', 'close' => 0],
'compare' => ['attr' => 'name,value,type', 'alias' => ['eq,equal,notequal,neq,gt,lt,egt,elt,heq,nheq', 'type']],
'ad' => ['attr' => 'aid,id', 'close'=>1],
'adv' => ['attr' => 'pid,row,order,where,id,empty,key,mod,currentstyle', 'close'=>1],
'global' => ['attr' => 'name', 'close' => 0],
'static' => ['attr' => 'file,lang,href,code', 'close' => 0],
'prenext' => ['attr' => 'get,titlelen,id,empty'],
'field' => ['attr' => 'name,addfields,aid', 'close' => 0],
'searchurl' => ['attr' => '', 'close' => 0],
'searchform' => ['attr' => 'channel,typeid,notypeid,flag,noflag,type,empty,id,mod,key', 'close'=>1],
'tag' => ['attr' => 'aid,name,row,id,key,mod,typeid,getall,sort,empty,style'],
'flink' => ['attr' => 'type,row,id,key,mod,titlelen,empty,limit'],
'language' => ['attr' => 'type,row,id,key,mod,titlelen,empty,limit,currentstyle'],
'lang' => ['attr' => 'name,const', 'close' => 0],
'ui' => ['attr' => 'open', 'close' => 0],
'uitext' => ['attr' => 'e-id,e-page,id'],
'uihtml' => ['attr' => 'e-id,e-page,id'],
'uiupload' => ['attr' => 'e-id,e-page,id'],
'uitype' => ['attr' => 'e-id,e-page,id,typeid'],
'uiarclist' => ['attr' => 'e-id,e-page,id,typeid'],
'uichannel' => ['attr' => 'e-id,e-page,id,typeid'],
// 'sql' => ['attr' => 'sql,key,id,mod,cachetime,empty', 'close'=>1, 'level'=>3], // eyou sql 万能标签
'weapp' => ['attr' => 'type', 'close' => 0], // 网站应用插件
'range' => ['attr' => 'name,value,type', 'alias' => ['in,notin,between,notbetween', 'type']],
'present' => ['attr' => 'name'],
'notpresent' => ['attr' => 'name'],
'defined' => ['attr' => 'name'],
'notdefined' => ['attr' => 'name'],
'define' => ['attr' => 'name,value', 'close' => 0],
'for' => ['attr' => 'start,end,name,comparison,step'],
'url' => ['attr' => 'link,vars,suffix,domain', 'close' => 0, 'expression' => true],
'function' => ['attr' => 'name,vars,use,call'],
'diyfield' => ['attr' => 'name,id,key,mod,type,empty,limit'],
'attribute' => ['attr' => 'aid,type,empty,id,mod,key'],
'attr' => ['attr' => 'aid,name', 'close' => 0],
'user' => ['attr' => 'type,id,key,mod,empty,currentstyle,img,txt,txtid'],
'weapplist' => ['attr' => 'type,id,key,mod,empty,currentstyle'], // 网站应用插件列表
'usermenu' => ['attr' => 'row,id,empty,key,mod,currentstyle,limit'],
// 购物行为标签
'sppurchase' => ['attr' => 'row,id,key,mod,empty'],
// 购物车大标签
'spcart' => ['attr' => 'row,id,key,mod,empty,limit'],
// 订单明细大标签
'sporder' => ['attr' => 'row,id,key,mod,empty,limit'],
// 订单提交大标签
'spsubmitorder'=> ['attr' => 'row,id,key,mod,empty,limit'],
// 订单管理页大标签
'sporderlist'=> ['attr' => 'row,id,key,mod,empty,limit,pagesize'],
// 地址标签
'spaddress' => ['attr' => 'type,row,id,key,mod,empty,limit'],
// 订单产品标签
'spordergoods'=> ['attr' => 'row,id,key,mod,empty,limit,name,titlelen'],
// 订单状态标签
'spstatus' => ['attr' => 'row,id,key,mod,empty,limit'],
// 订单管理页,分页标签
'sppageorder' => ['attr' => 'listitem,listsize', 'close' => 0],
// 订单管理页搜索标签
'spsearch' => ['attr' => 'empty,id,mod,key'],
];
/**
* 自动识别构建变量,传值可以使变量也可以是值
* @access private
* @param string $value 值或变量
* @return string
*/
private function varOrvalue($value)
{
$flag = substr($value, 0, 1);
if ('$' == $flag || ':' == $flag) {
$value = $this->autoBuildVar($value);
} else {
$value = str_replace('"', '\"', $value);
$value = '"' . $value . '"';
}
return $value;
}
/**
* 万能的SQL标签
*/
public function tagSql($tag, $content)
{
$sql = $tag['sql']; // sql 语句
$sql = $this->varOrvalue($sql);
$key = !empty($tag['key']) ? $tag['key'] : 'i';
$mod = isset($tag['mod']) ? $tag['mod'] : '2';
$id = !empty($tag['id']) ? $tag['id'] : 'field';// 返回的变量
$cachetime = !empty($tag['cachetime']) ? $tag['cachetime'] : '';// 缓存时间
$empty = isset($tag['empty']) ? $tag['empty'] : '';
$empty = htmlspecialchars($empty);
$parseStr = '<?php ';
$parseStr .= ' $tagSql = new \think\template\taglib\eyou\TagSql;';
$parseStr .= ' $_result = $tagSql->getS
小徐博客
- 粉丝: 1977
- 资源: 5883
最新资源
- 流水线贴膜机完成项目程序,包含PLC程序和触摸屏程序,程序内 包含上下气缸控制,夹紧气缸控制,输送带电机控制,贴膜伺服控制,旋转电机控制等类容,非常适合学习简单控制工艺及运动控制初学者学习,该程序支持
- PLC与变频器RS指令无协议通讯 适应支持MODBUS.RTU模式的各品牌变频器 RS485ADP或者RS485BD板都可以 本程序编写了CRC循环冗余校验码程序,针对FX1N.2N没有CRC专
- 自己封装的爱普生机器人与三菱的MC协议通信驱动程序,提供项目源码、MC协议源码,需要一定基础(通信 MC协议 爱普生机器人编程)才能调的通
- 紧急道,紧急避障,横纵向联合控制,模型预测控制+pid控制方案,通过控制转角以及车轮力矩实现道,避障轨迹 matlab用的是2016,carsim用的是2018
- 基于plc智能停车场车位控制仿真 功能介绍: ①假设某停车场共有16个车位 ②在停车场入口处装设有一传感器,用来检测车辆进入的数目 ③在停车场出口处装设有一传感器,用来检测车辆出去的数目 ④尚有
- 能量和储备调度的分布鲁棒联合机会约束 测试环境:MATLAB 关键词:分布式鲁棒优化,能量和储备调度,联合机会约束 我们开发了一个两阶段的随机计划,为能源和储备调度的联合电力和天然气系统的高渗透的可再
- 插电式混合动力汽车的能量管理:模型预测控制的凸优化算法 测试环境:MATLAB 关键词:乘法器交替方向法、能量管理、内点法、模型预测控制、插电式混合动力汽车 求解非线性损耗混合动力汽车能量管理模型预测
- 储能参与调频调峰联合优化运行 关键词:储能 调频 调峰 储能优化 联合优化 测试环境:matlab平台 通过一个联合优化框架同时使用电池存储系统进行调峰和频率调节,该框架可以捕捉到电池 化、操作限
- 基于最小二乘法和快速解耦法的电网状态估计 测试环境:MATLAB 电网状态估计问题的实质是当方程的个数大于变量的个数时,对方程变量进行无偏估计 对于电网系统,变量为节点电压(即状态值,由实部和虚部
- 四轮轮毂电机驱动车辆,驱动电机故障状态估计(UKF) 软件使用:Matlab Simulink 适用场景:采用无迹卡尔曼滤波UKF进行轮毂电机状态估计,失效电机估计状态为0,正常电机状态为1 产品
- 汇川H3UCAN总线高性能PLC实机程序,本体应用五轴?CAN总线轴控两轴SV630总线伺服电机,最大可扩充16轴运动总线 另外一路MODBUS总线控制高频温控器 配合台湾威纶通TK6071IP触
- 倒立摆源码 13年国赛电赛旋转倒立摆 完整全功能 程序 倒立摆 pid算法 程序使用时可根据硬件需要自行调节 基本要求 1. 摆杆从处于自然下垂状态(摆角 0°)开始,驱动电机带动旋转臂作往复旋转使
- 成熟 步进电机驱动 方案 全套
- 考虑电动汽车调度潜力的两阶段充电桩市场投标 代码 测试环境:MATLAB 关键词:电动汽车,车并网,纳什均衡,投标策略 充电站投标优化能降低电力成本甚至通过电取益 考虑了电动汽车成为柔性储荷资源的
- 四相8 6极开关磁阻电机maxwell仿真资料
- labview串口,网口,DSC可用OPC通讯链接三菱欧姆龙西门子等PLC 需要的取,可帮助使用 通过NI-OPC控制三菱,欧姆龙西门子等各种型号PLC
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈