L类作用
作为框架的辅助类, 起到类似快捷方式的作用, 可以在预加载中调用
of::link
添加方法
框架配置preloaded加入"of_base_link_setup"来集成一些常用方法, 如下:
框架配置preloaded加入"of_base_link_setup"来集成一些常用方法, 如下:
内置方法
-
session($type = true)
开关SESSION
typebooltrue=开启, false=关闭
-
&getText($string, $params = null)
获取翻译文本, 参看多语言包
stringstring指定需要翻译的文本paramsarray相关复选参数
-
&json($data, $mode = 1)
安全的json, 详细
datastring, array编码或解码的数据modeint
位运算操作选项 0=解码 2=解码前去掉反斜杠 1=编码 2=编码后添加反斜杠
-
uniqid($prefix = '', $isShow = true, $minLen = 3)
获取更具唯一性的ID, 详细
prefixstring编码前缀, 不同前缀并发互不影响, ''=全局32位小写唯一编码, 其它=系统级可排序唯一短编码isShowint, bool, string
功能操作 数字 = 代替minLen参数, 布尔 = 显示前缀, true=显示, false=隐藏 字符串 = 时间结构, 用"\"转义, 默认"ymdHis", 如: "\y\m\dymd-"
minLenint自增值最小长度, prefix不为空时有效, 默认3 -
work($code, $info = '', $data = array())
工作流 of::work 映射方法
详细
codenull, array, string, bool, numberof::work 对应参数infonull, array, string, bool, numberof::work 对应参数datanull, array, string, bool, numberof::work 对应参数
- display($tpl = null, $dir = null) 输出页面 of_view::display 映射方法
tplstring模板名,默认调度方法名(不带扩展名)dirstring相对磁盘根路径,默认相对视图根目录的调度类结构相同
<?php //如 模块层 $this->display();, 实际上调用的就是 L::display('viewTest', self::path() . '/tpl/demo/ofControllers'); ?>
sqlstring, null, true, false
字符串 = 执行传入的sql, null = 开启事务, true = 提交事务, false = 回滚事务
keystring
多池区分符, 指定 框架配置['db'] 中的键或者 of_db::setPool 设置的键
<?php L::sql('SELECT 1 a'); //结果集 array(array('a' => '1')); ?>
keystring
用"."分割数组层级的字符串
default
数据不存在返回的数据
<?php //假设 $_GET['a']['b'] === '1'; L::get('a', 'none') == array('b' => '1'); L::get('a.b', 'none') === '1'; L::get('a.c', 'none') === 'none'; ?>
keystring
用"."分割数组层级的字符串
default
数据不存在返回的数据
namestring
指定cookie名称
valuestring
指定cookie值,null=删除
expirestring, int
过期时间,数字=指定x秒后过期,时间=过期时间,默认关闭浏览器过期
pathstring
有效路径,默认'/'根路径
domainstring
有效域,默认当前域
securebool
true=只在https下有效,false(默认)=不限制
httpOnlybool
仅能通过http协议访问,如js等禁止访问,false(默认)=不限制,true=限制访问
<?php L::cookie('a[b]', '5'); //设置$_COOKIE['a']['b'] = '5'; ?>
mode
true=永久缓冲,false=关闭缓冲,null=清除缓冲,字符串=添加缓存内容
pool
null=使用上次级别,字符串=对应缓冲池
<?php /* 返回 : * mode=bool : 保存并返回在服务器中的缓存内容 * mode=字符串 : 保存并返回在服务器中的缓存内容, 同时输出pool缓冲池的内容 * mode=null : 返回并清空缓冲内容 * mode=null,pool=false时 : 返回当期状态 { * "mode" : 缓存状态,bool * "pool" : 当前缓存池 * } */ echo 'php缓存控制示例'; L::buffer(false); //输出 "php缓存控制示例", 关闭缓存, 下面的输出和同缓冲池的内容直接发送 for($i = 0; $i < 3; ++$i) { sleep(1); //睡眠1秒 echo $i; //每个1秒, 浏览器会收到 $i, 在win下nts版本 或 webServer有二级缓存时, 不起作用 } L::buffer(true, 'aa'); //下面的输出将保留在"aa"缓存池里 echo '111'; //"111"待存如"aa", "aa"缓存池里目前是"" L::buffer(true, 'bb'); //下面的输出将保留在"bb"缓存池里, 返回最近输出内容"111", "aa"缓存池里目前是"111" echo 'xxx'; //"111"待存如"bb", "bb"缓存池里目前是"" L::buffer('ooo', 'aa'); //"ooo"将代替"xxx"被存入"bb"中, 返回"xxx", "bb"缓存池里目前是"ooo" echo '222'; //"222"待存如"aa", "aa"缓存池里目前是"111" $aa = L::buffer(true, 'bb'); //下面的输出将保留在"bb"缓存池里, 返回内容"222", "aa"缓存池里目前是"111222" echo '333'; //"333"待存如"bb", "bb"缓存池里目前是"ooo" $bb = L::buffer(true, 'aa'); //下面的输出将保留在"aa"缓存池里, "333"被存入"bb"中, 返回"333", "bb"缓存池里目前是"ooo333" echo '444'; //"444"待存如"aa", "aa"缓存池里目前是"111222" $cc = L::buffer(true, ''); //只有""的缓存池作为系统默认输出, 返回"444", "aa"缓存池里目前是"111222444" echo '<br>'; echo '变量aa bb cc内容为: ', $aa, '-', $bb, '-', $cc, '<br>'; //222-333-444 echo 'aa缓存池的完整内容: ', L::buffer(null, 'aa'), '<br>'; //111222444, "aa"缓存池里目前是"" echo 'bb缓存池的完整内容: ', L::buffer(null, 'bb'); //ooo333, "bb"缓存池里目前是"" ?>
codestring, int
数字=指定状态码,字符串=指定头信息
textstring, int, bool
text为字符串=指定头信息,text为布尔=指定是否可替换,text为数字=指定code跳转状态码
rulearray
验证的规则
{ 调度的方法名 : { $GLOBALS 中的get post等键名 : { 符合 of_base_com_data::rule 规则 } } }
exitbool
校验失败是否停止, true=停止, false=返回
<?php //定义全局规则 $rule = array( 'getMsgs' => array( 'get' => array( 'size' => 'int' ) ) ); //无返回, 校验失败直接 exit 并输出标准json响应结构 L::rule($rule);
组件调用
- 当L被继承时可以快速创建/base/com/中的对象
- 通过 $this->_组件的文件名(不带扩展名) 来创建对象
<?php /** * 以下代码等同于 * $obj = new of_base_com_str; * $obj->strsub('我a是m', 2) === '是m'; */ $this->_str->strsub('我a是m', 2) === '是m'; //按字符截取UTF8字符串,详细参看 "组件使用" 章节 ?>
插件调用通过 L::open 打开 _of.link.addin.pConfig 对应插件
-
<?php //开启 php word L::open('word'); $PHPWord = new PHPWord();