of_base_com_com 类
全部方法均是静方法
-
captcha([$captcha[, $key]])生成验证码
-
$captcha传入校验的验证码默认 : false
如果是false则被认为是生成验证码,否则判断生成的验证码是否正确,返回boolean -
$key指定验证码的key默认 : 0
该封装支持多验证码,好比一个个盒子,将不同类型的验证码分类,$key就是钥匙
-
-
/views/demo/ofControllers/viewTest.tpl.php
<img src="<?php echo OF_URL; ?>/index.php?c=of_base_com_com&a=captcha&key=user&bgColor=FFFFFF&width=80&height=40" /> <!-- img标签请求参数说明
/demo/ofControllers.php_GET[a] : 获取验证码固定为captcha _GET[key] : 指定验证的key,如 key=hh _GET[noise] : 干扰像素,默认 noise=0.0 _GET[width] : 指定宽度,默认 width=60 _GET[height] : 指定高度,默认 height=20 _GET[length] : 字符个数,默认 length=4 _GET[bgColor] : 指定背景色,如 bgColor = FFFFFF 白色背景 --> <input id="captcha" type="text" /> <input type="button" value="验证" onclick="captcha(this)" /> <script> function captcha(thisObj) { $.post( window.ROOT_URL + '/demo/ofControllers.php?a=captcha', {'captcha' : $('#captcha').val()}, function(data) { $(thisObj).val(data ? '成功' : '失败'); } ); } </script>
<?php class demo_ofControllers extends L { /** * 描述:控制层测试 */ public function viewTest() { $this->display(); } /** * 描述:验证码校验 */ function captcha() { if($this->post('captcha')) { echo $this->_com->captcha($this->post('captcha'), 'user'); //user为img中的key } } }
-
textToHtml(string,array &$textList[,array $excludeArr = null[,boolean $encodeKey = false[,boolean $stripslashes = true]]])批量将text文本转换成html格式
-
$textListstring,array指定转换的文本或数组
-
$excludeArrarray在textList为数组模式下指定排除项,默认null
-
$encodeKeyboolean是否编码数组Key,默认false
-
$stripslashesboolean是否预先使用stripslashes去掉反斜杠,默认true
OF 会将所有特殊字符加上反斜杠,以防止sql注入
<?php class demo_ofControllers extends L { /** * 描述:常用包textToHtml方法测试 */ function textToHtml() { $textList = array( 'y' => array( 'a' => 'a" 1', 'b' => array( 'c' => 'c" 1', 'd"' => 'd" 1' ) ) ); $excludeArr = array( 'b' => array( 'c' => false /*不为null或非空数组的值代表排除该项*/ ) ); if(true) { textToHtml($textList['y'], $excludeArr); print_r($textList); /* 结果如下:Array ( [y] => Array ( [a] => a" 1 [b] => Array ( [c] => c" 1 [d"] => d" 1 ) ) ) */ } else { textToHtml($textList['y'], $excludeArr, true); print_r($textList); /* 结果如下:Array ( [y] => Array ( [a] => a" 1 [b] => Array ( [c] => c" 1 [d"] => d" 1 ) ) ) */ } } }
-
-
&cache($key, $where = null, $value = null)数据缓存读写,一切无效返回null,否则返回存储值
-
$keystring读写缓存池的标识,建议使用(类名:方法名:自定义值)来确保缓存唯一性
-
$wherearray,string判断过期条件,数组字符串均可(所有比对使用'等于'方式),默认null,当写时(value !== null)存储where,当读时(value === null)与写时的where对比,如果相等,则返回存储的值,否则注销原值返回null
-
$value被缓存的数据
<?php $temp = &cache('demo_ofControllers::cache', array('key' => true), 'bb'); //缓存字符串'bb',此时$temp === 'bb' echo cache('demo_ofControllers::cache', array('key' => false)) === null; //输出true echo cache('demo_ofControllers::cache', array('key' => 1 < 2), 'bb'); //输出'bb'
-
-
&eachSql(&$sql, &$data, $key = 'default', $size = 1000)分组查询SQL, 将返回值复制 false 会重置快照
-
sqlstring查询的sql语句
-
dataarray接受查询的结果集
-
keystring多池连接键
-
sizeint查询分页量
<?php $sql = 'SELECT `id` FROM `user`'; while( $status = &eachSql($sql, $data) ) { print_r($data); //[{'id' : user.id}, ...], 每组 50 条 //修改 $status = false; 会重置 LIMIT 值 } ?>
-
-
arraySort(array &$data, $sort, $type = '')数组按深层属性值排序
-
&$dataarray需排序的数组
-
$sortarray
排序规则参数 type为空时, 按照sort键在data定位的值排序 { 定位属性值'.'为分层'`'为转义符 : 去SORT_的array_multisort排序常量, 默认"ASC,REGULAR", ... } type不为时, 按照data键对应sort键的值排序 { data键名 : 被排序数据 }
-
$typeint
""(默认)=按照sort键在data定位的值排序 去SORT_的array_multisort排序常量组合=按照data键对应sort键的值排序
<?php $data[] = array('volume' => array('abc' => 4), 'volu.me1' => 67, 'edition' => 2 ); $data['a'] = array('volume' => array('abc' => 2), 'volu.me1' => 85, 'edition' => 86); $data['m'] = array('volume' => array('abc' => 2), 'volu.me1' => 67, 'edition' => 0 ); //arraySort($data, array('0' => 1, 'a' => 7, 'm' => 5), 'asc,NUMERIC'); //第一种用法 arraySort($data, array("volume.abc" => 'ASC,REGULAR', 'edition' => 'ASC')); //第二种用法 print_r($data); 输出: Array ( [m] => Array ( [volume] => Array ( [abc] => 2 ) [volu.me1] => 67 [edition] => 0 ) [a] => Array ( [volume] => Array ( [abc] => 2 ) [volu.me1] => 85 [edition] => 86 ) [0] => Array ( [volume] => Array ( [abc] => 4 ) [volu.me1] => 67 [edition] => 2 ) )
-