-
Notifications
You must be signed in to change notification settings - Fork 18
components str
tolizhan edited this page Aug 3, 2022
·
4 revisions
-
$keystring加密解密文本密码
-
$txtstring需要加解密的文本
-
$typeint, boolean加密解密标识,1=加密, 0=解密, true=base64加密, false=base64解密
-
$modearray
加密模式(http://php.net/manual/zh/mcrypt.ciphers.php) { "type" : 算法(algorithm), MCRYPT_RIJNDAEL_128 : (默认)AES MCRYPT_3DES : DES ... "mode" : 模式, 默认 MCRYPT_MODE_ECB, 还可大写(MCRYPT_MODE_modename : "ecb","cbc","cfb","ofb","nofb" 和 "stream") "rand" :&随机数, 默认 mcrypt_create_iv(算法位, MCRYPT_RAND) }
<?php //AES_ECB 算法 mcrypt('密码', '测试', true); 随机加密字符,如:cqwPeOAp0LtFEE9kH205IGAbOraQiaEXfvJZNnzcQyI= rc4('密码', mcrypt('密码', '测试', true), false); 测试//AES_CBC 算法 $temp = of_base_com_str::mcrypt('密码', '测试', true, array( 'mode' => MCRYPT_MODE_CBC, 'rand' => &$vector //会生成CBC的项量 ));
$temp = of_base_com_str::mcrypt('密码', $temp, false, array( 'mode' => MCRYPT_MODE_CBC, 'rand' => $vector //将CBC项量赋值解密 ));
-
$pwdstring加密解密文本密码
-
$txtstring需要加解密的文本
-
$base64null, boolean加密解密标识,null=无编码加密解密, true=base64加密, false=base64解密
-
$levelint加密级别 1=简单线性加密, >1 = RC4加密数字越大越安全越慢, 默认=256
<?php rc4('密码', '测试', true); 随机加密字符,如:Yegw4WXcMOth/DvC rc4('密码', rc4('密码', '测试', true), false); 测试
-
pathstring指定源路径
<?php of_base_com_str::realpath('/xx/.././cs.php') === '/xx/cs.php'; //返回规范化的绝对路径名
-
strstring被搜索的字符串
-
matchesarray匹配数组,优先级从高到底 {
匹配字符串(不区分大小写) : 是否受''影响,true=是,false=否
} -
offsetint偏移量
<?php /** 没找到返回false,否则{'match' : 最先出现的字符串, 'position' : 出现的位置} $data 的结果为 {'match' => 'c', 'position' => 4} */ $str = 'a\s\cms'; $data = of_base_com_str::strArrPos($str, array( 'c' => false, //c的优先级比cm高 'cm' => false, //与c的查询位置相同 's' => true //最后一个s是有效的 ));
-
strstring指定截取的UTF8编码字符串
-
startint, array数字=起始长度, 数组=额外参数{"start" : 起始长度, "length" : 截取长度, "overflow" : 额外溢出字符串}
-
lengthint截取长度. null(默认)=截取到最后
<?php class demo_ofControllers extends L { public function getEscape() { echo $this->_str->strsub('我a是m', 2) === '是m'; } }
-
prefixstring编码前缀, 不同前缀并发互不影响, ''=全局32位小写唯一编码, 其它=系统级可排序唯一短编码
-
isShowint, bool, string
功能操作 数字 = 代替minLen参数, 布尔 = 显示前缀, true=显示, false=隐藏 字符串 = 时间结构, 用""转义, 默认"ymdHis", 如: "\y\m\dymd-"
-
minLenint自增值最小长度, prefix不为空时有效, 默认3
<?php echo of_base_com_str::uniqid(); //32位小写编码: 14e83f89ea6a4ac6de78576cc79c1734 echo of_base_com_str::uniqid('abc'); //18位大写编码: 大写prefix + 两位年月日时分秒12位 + 3位计数: ABC180130232907001 echo of_base_com_str::uniqid('abc', 5); //20位大写编码: 大写prefix + 两位年月日时分秒12位 + 5位计数: ABC18013023174600002 echo of_base_com_str::uniqid('abc', true, 3); //15位大写编码: 大写prefix + 两位年月日时分秒12位 + 3位计数: ABC180130231746002 echo of_base_com_str::uniqid('abc', false, 5); //17位大写编码: 两位年月日时分秒12位 + 5位计数: 18013023174600004 echo of_base_com_str::uniqid('abc', '\y\m\dymd') //12位格式编码: ymd开头 + 两位年月日 + 3位计数: ymd190618001
手册地址 http://phpof.net/
- 入门指引
-
疑难解答
- 部署时会遇到的那些常见问题
简单却容易忽视 - 框架内置有哪些管理界面
生产模式进入界面需用 __OF_DEBUG__ - 如何定制不同的架构模式
通过配置入口文件中调度方法的参数即可 - 如何面向命名空间开发
of_xx 类可以按照命名空间方式调用 - 如何设置不同的部署模式
通过_of.debug设置 开发,测试,生产 模式 - 为什么控制层类文件要返回true
这是防止非法访问的方法之一 - 为什么传到视图层的变量会被编码
这是因为 XSS 安全防范的原因 - 为什么框架没有SQL构造器
因常规方案牺牲了性能又未很好解决问题 - 如何快速开发用户及权限管理功能
单点登录(SSO)模块因此而存在 - 怎么在系统的基础上扩展底层功能
三点: 扩展开发, 预先加载, 底层钩子 - 怎么使用 Composer 依赖管理工具
框架已集成, 默认关闭状态
- 部署时会遇到的那些常见问题
- 组件使用
- 集成插件
- 扩展开发
- 开发手册