GolangHub

公众号:Golang语言开发栈

colaphp Com模块文档

ColaPHP中原来大Helper模块已全部移到Com模块下,使用方法不变,把Helper换成Com即可。如Cola_Helper_Benchmark换成Cola_Com_Benchmark

Cola_Helper_Benchmark:性能测试助手

代码示例:

1
2
3
4
5
6
7
8
9
10
11
sleep(1);// 做一些操作 echo $benchmark->step();//获得第一个操作执行时间

sleep(2);// 做另外一些操作 echo $benchmark->step();//获得第二个执行时间

sleep(3);// 第三个操作 $benchmark->mark('3rd');

sleep(4);// 第四个操作 $benchmark->mark('4rd');

echo $benchmark->cost('3rd', '4rd'); // 两个记录点之间花费的时间

print_r($benchmark->time()); // 打印出所有时间记录

Cola_Helper_Captcha:验证码助手

  • public function __construct($config = array())

    构造函数,$config配置参数:

    1. sessionValueKey:验证码值session key
    2. sessionTtlKey:验证码过期时间的session key
    3. ttl:过期时间
    4. seed:字符种子
    5. font:字体,在*nix下一定要设置
    6. size:验证码字体大小
    7. length:验证码字符个数
    8. width:验证码图宽度
    9. height:验证码图高度
    10. bgColor:背景颜色
    11. padding:验证码padding值
  • public function display($type = ‘png’)

    显示验证码

  • public function check($value, $caseSensitive = false)

    校验验证码

    1. $value:校验值
    2. $caseSensitive:大小写是否敏感
  • public function error()

    返回校验错误值

Cola_Helper_Encrypt:加密助手

字符串加密类,支持XOR、mcrypt加密,支持混淆。

  • public function __construct($key = null, $config = array())

    构造函数

    1. $key:密钥
    2. $config:配置信息
  • public function encode($str, $key = null)

    加密

    1. $str:需要加密的字符串
    2. $key:密钥,为空则调用构造函数里面的$key
  • public function decode($str, $key = null)

    解密

    1. $str:需要解密的字符串
    2. $key:密钥,为空则调用构造函数里面的$key
配置信息

1. hash:哈希函数,默认sha1
2. xor:是否启用XOR加密,默认false,注意:开启后加密串明显变长 
3. mcrypt:是否启用mcrypt加密 
4. noise:是否混淆,默认开启,不建议修改 
5. mcrypt:mcrypt mcrypt配置,默认MCRYPT_RIJNDAEL_256
6. mode:mcrypt mode配置,默认MCRYPT_MODE_ECB

示例代码:

1
2
3
4
5
echo $encrypt->encode('colaphp', 'chaoqun');

$encrypt->config('noise', false);

echo $encrypt->decode($encrypt->encode('colaphp', 'chaoqun'), 'chaoqun');

Cola_Helper_Fs:文件系统助手

  • mkdir($dir, $mode = 755)

    循环创建目录

Cola_Helper_Http:Http请求助手

HTTP请求类,处理GET和POST请求,支持自定义http header等特性,利用file_get_contents和Streams(简单应用非必要),不需要curl之类的第三方扩展。

  • public static function get($uri, $data = null, $config = null)

    参数说明:

    $uri:HTTP GET请求的URL

    $data:HTTP GET请求的数据,自动生成?foo=bar&tmp=foobar串,并urlencode

    $config:HTTP GET请求配置

  • public static function post($uri, $data, $config = null)

    参数说明:

    $uri:HTTP POST请求的URL

    $data:HTTP POST请求的数据,自动生成?foo=bar&tmp=foobar串,并urlencode

    $config:HTTP POST请求配置

  • public static function request($uri, $context)

    完全自定义的HTTP请求,传入$url,和一个stream resource即可

  • public static function responseHeader()

    获得HTTP响应header

    配置信息:

    除了支持Streams支持的’method’, ‘header’, ‘user_agent’, ‘content’,’proxy’, ‘request_fulluri’, ‘max_redirects’, ‘protocol_version’, ‘timeout’, ‘ignore_errors’参数外,还支持所有http header参数,比如host等。

    示例代码:

    1
    var_dump(Cola_Com_Http::responseHeader());

    Cola_Helper_Page:分页助手

完备的分页类,默认带显示样式,亦可随意定制显示效果过。

  • public function __construct($curPage, $pageSize = 20, $totalItems, $url = ‘’)

    参数说明:

    $curPage:当前页

    $pageSize:每页显示条目数

    $totalItems:总页数

    $url:翻页跳转链接,页码变量为%page%

  • public function config($key = null, $value = null)

    $key:目标配置,为null返回配置值,可以为array,批量配置

    1. prevNums:显示当前页前几页链接,默认前2页
    2. nextNums:显示当前页后几页链接,默认后7页
    3. showSinglePage:如果只有一页,显示,默认false
    4. prefix:分页显示前缀,支持变量
    5. first:第一页显示模版,支持变量
    6. last:最后一页显示模版,支持变量
    7. prev:上一页显示模版,支持变量
    8. next:后一页显示模版,支持变量
    9. current:当前页页显示模版,支持变量
    10. page:普通页显示模版,支持变量
    11. suffix:分页显示后缀,支持变量

$value:配置值

  • public function html()

    返回分页HTML

  • public function display()

    显示分页HTML

    支持的变量:

    1. %link%:链接
    2. %curPage%:当前页数
    3. %pageSize%:每页显示数
    4. %totalItems%:总条目数
    5. %totalPages%:总页数
    6. %startPage%:开始页数
    7. %endPage%:结束页数
    8. %page%:页码

代码示例:

1
2
3
4
<?php
$page = new Cola_Helper_Page(5, 20, 268, '/foo/bar/page/%page%/');

$page->display();

Cola_Helper_Request:页面请求助手

  • public static function param($key = null, $default = null)

    获得url中的param值,可设置默认值

  • public static function get($key = null, $default = null)

    获得$_GET值,可设置默认值

  • public static function post($key = null, $default = null)

    获得$_POST值,可设置默认值

  • public static function cookie($key = null, $default = null)

    获得$_COOKIE值,可设置默认值

  • public static function server($key = null, $default = null)

    获得$_SERVER值,可设置默认值

  • public static function env($key = null, $default = null)

    获得$_ENV值,可设置默认值

  • public static function session($key = null, $default = null)

    获得$_SESSION值,可设置默认值

  • public static function header($key = null, $default = null)

    获得http header值,可设置默认值

  • public static function is*()

    注意把*换成Post/Get/Put/Delete/Head/Options/Ajax/FlashRequest/Secure,判断是否为Post/Get/Put/Delete/Head/Options/Ajax/FlashRequest/Secure请求

  • public static function clientIp($default = ‘0.0.0.0’)

    获取客户端IP

Cola_Helper_Response:页面响应助手

  • public static function statusCode($code, $text = null)

    设置HTTP响应代码

  • public static function cookie($name, $value = null, $expire = null, $path = null, $domain = null, $secure = false, $httpOnly = false)

    设置cookie

  • public static function charset($enc = ‘UTF-8’, $type = ‘text/html’)

    设置响应编码

  • public static function charset($enc = ‘UTF-8’, $type = ‘text/html’)

    设置响应编码

  • public static function redirect($url, $code = 302)

    页面跳转

  • public static function alert($text, $url = null)

    页面提示

  • public static function disableBrowserCache()

    禁用页面缓存

  • public static function etag($etag, $notModifiedExit = true)

    设置响应Etag

  • public static function lastModified($modifiedTime, $notModifiedExit = true)

    设置最后修改时间

  • public static function expires($seconds = 1800)

    设置页面过期时间

Cola_Helper_Upload:上传助手

文件上传类

  • public function __construct($config = array())

    构造函数,传入配置信息:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    $config = array(
    'savePath' => 文件保存路径,
    'maxSize' => 文件最大字节数,
    'maxWidth' => 图片文件最大宽度,
    'maxHeight' => 图片文件最大高度,
    'allowedExts' => 允许的文件扩展名,*为全部,
    'allowedTypes' => 允许的文件类型,*为全部,
    'override' => 是否覆盖同名文件,默认为否,
    );
  • public function files()

    获得上传文件列表,文件列表为格式化过的数组,如果有特殊的保存需求,可以做此基础上扩展

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    $files = array( 
    0 => array(
    'field' => '表单字段名',
    'name' => '文件名',
    'type' => '文件类型',
    'tmp_name' => '临时文件名',
    'error' => '错误信息',
    'size' => '文件大小'
    ),
    1 => array(
    'field' => '表单字段名',
    'name' => '文件名',
    'type' => '文件类型',
    'tmp_name' => '临时文件名',
    'error' => '错误信息',
    'size' => '文件大小'
    ),
    2 => array(
    'field' => '表单字段名',
    'name' => '文件名',
    'type' => '文件类型',
    'tmp_name' => '临时文件名',
    'error' => '错误信息',
    'size' => '文件大小'
    )
    );
  • public function save($file = null, $name = null)

    保存文件,如果$file为$files中的一个时,可以自定义保存文件名,如果都为null的话,则保存所有的上传文件,文件名与源文件名相同。

Cola_Helper_Validate:数据校验助手

  • public static function notEmpty($str, $trim = true)

    非空,$trim控制是否trim掉空格

  • public static function match($value, $regex)

    是否匹配某个正则

  • public static function max($value, $max)

    校验最大值,兼容数字和字符串,如果$value为字符串的话,则$max为最大长度

  • public static function min($value, $min)

    校验最小值,兼容数字和字符串,如果$value为字符串的话,则$min为最小长度

  • public static function range($value, $range)

    校验范围,兼容数字和字符串,如果$value为字符串的话,则校验长度 $range:array(最小值,最大值)

  • public static function email($email)

    校验邮箱地址

  • public static function url($url)

    校验URL地址

  • public static function ip($ip)

    校验IP地址

  • public static function date($date)

    校验date,格式为’2010-01-21’或者’2010/01/21’

  • public static function number($value)

    校验是否数字

  • public static function int($value)

    校验是否整数

  • public static function string($value)

    校验是否字符串

  • public function check($data, $rules, $ignorNotExists = false)

    批量校验数据

    1. $data:数据数组
    2. $rules:规则数组
    3. $ignorNotExists:是否忽略不存在数据
规则定义

1
2
3
4
5
6
7
8
9
10
$rules = array( 
'required' => 是否必须
'type' => 数据类型,可以是email, url, ip, date, number, int, string
'regex' => 需要匹配的正则
'func' => 自定义校验函数
'max' => 最大值
'min' => 最小值
'range' => 取值范围
'msg' => 错误信息,可以是数组
)
更多精彩内容,请关注公众号 Golang语言开发栈公众号二维码
感谢赞赏.

Welcome to my other publishing channels