内置小工具
phpGrace 封装了一些常用的工具函数。虽然很多开发者追求百分百的面向对象编程,但适当的使用函数也是一种高效的选择,合适、合理才是最好的选择,phpGrace 提供了一个自定义函数文件,您可以在文件内编写自己的自定义函数并使用。

内置自定义函数文件位置

/phpGrace/graceFunctions.php

内置自定义函数编写及调用

Code phpLine:8复制
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
    • // 打开 : /phpGrace/graceFunctions.php 编写
    • function test(){
    • echo 'test...';
    • }
    • // 在框架其他文件内调用
    • // 框架在运行时会自动加载自定义函数文件
    • // 所以可以直接使用自定义函数
    • \test(); // 加上 \ 代表顶级命名空间,预防命名空间冲突;

    打印变量

    Code phpLine:5复制
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
    • 函数 : p($var, $type = false)
    • 功能 : print_r 和 var_dump 函数的组合;
    • 参数 : 可填2个参数
    • 1、需要打印的值
    • 2、可选参数 【默认 false】 默认使用 print_r 打印变量, 为 true 时使用 var_dump 打印变量;

    终止运行

    Code phpLine:3复制
  • 1.
  • 2.
  • 3.
    • 函数 : pgExit($msg)
    • 功能 : 终止运行并输出消息,等于 exit();
    • 参数 : $msg 可选参数 【 默认 ""

    动态设置 option 选中状态

    Code phpLine:2复制
  • 1.
  • 2.
    • 函数 : isSelected($val1, $val2)
    • 参数 : 2个比较变量;


    示例 :

    Code phpLine:17复制
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
    • class indexController extends grace{
    • public function index(){
    • $array = array(
    • 1 => 'php',
    • 2 => '.net',
    • 3 => 'jave'
    • );
    • $currentKey = 2;
    • echo "<select>";
    • foreach($array as $k => $v){
    • echo '<option value="'.$k.'"';
    • \isSelected($k, $currentKey);
    • echo '>'.$v.'</option>';
    • }
    • echo "</select>";
    • }
    • }

    去除全部空白字符

    Code phpLine:3复制
  • 1.
  • 2.
  • 3.
    • 函数 : trimAll($val)
    • 参数 : 字符串变量;
    • 返回 : 去除空格后的字符串


    示例 :

    Code phpLine:8复制
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
    • <?php
    • class indexController extends grace{
    • public function index(){
    • $str = trimAll(' g r
    • a ce ');
    • echo $str;
    • }
    • }

    动态设置radio/CheckBox 选中状态

    参数: 2个参数,分别为 对比数值1、   对比数值2
    返回:如果两个值一致,则输出 checked 字符

    Code htmlLine:2复制
  • 1.
  • 2.
    • <input type="radio" name="" <?php isChecked($val1,$val2);?> id="">
    • <input type="checkbox" name="" <?php isChecked($val1,$val2);?> id="">

    将符合规则的数组转换为option

    Code phpLine:4复制
  • 1.
  • 2.
  • 3.
  • 4.
    • 函数 : dataToOption($data, $currentId = 0)
    • 参数 : 2个参数
    • 1、符合规则的数据 【array(值 => 名称),如:array(1 => '男', 2=> '女');】
    • 2、选中数据 id;返回 : html 形式的 option 列表
    Code phpLine:9复制
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
    • <?php
    • class indexController extends grace{
    • public function index(){
    • echo "<select>";
    • $array = array(1 => 'php', 2 => '.net', 3 => 'jave');
    • dataToOption($array, 2);
    • echo "</select>";
    • }
    • }

    修正 POST 参数

    Code phpLine:6复制
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
    • 函数 : initPOST($name, $value = '')
    • 参数 : 2个参数
    • 1$_POST 键名称
    • 2、修正后的值
    • 返回 : 修正后的值
    • 说明 : 类似于判断某个 $_POST 数据是否为 empty,如果是对其进行初始化赋值;
    Code phpLine:5复制
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
    • class indexController extends grace{
    • public function index(){
    • echo initPOST('name','grace');
    • }
    • }

    修正 GET 参数

    Code phpLine:6复制
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
    • 函数 : initGET($name, $value = '')
    • 参数 : 2个参数
    • 1$_POST 键名称
    • 2、修正后的值
    • 返回 : 修正后的值
    • 说明 : 类似于判断某个 $_GET 数据是否为 empty,如果是对其进行初始化赋值;
    Code phpLine:5复制
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
    • class indexController extends grace{
    • public function index(){
    • echo initGET('name','grace');
    • }
    • }

    工具实例化函数1

    Code phpLine:5复制
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
    • 功能:适用于不能使用命名空间的工具类,自动加载且保证一次加载
    • 函数:tool($toolName, $arguments)
    • 参数:
    • 1、工具类名称
    • 2、对应参数【根据工具类构造函数决定参数个数】

    演示

    Code phpLine:2复制
  • 1.
  • 2.
    • $excel = tool('PHPExcel');
    • $tool = tool('test', 1 , 'grace');

    工具实例化函数2

    Code phpLine:4复制
  • 1.
  • 2.
  • 3.
  • 4.
    • 功能: 适用于能使用命名空间的工具类
    • 函数: t($toolName)
    • 参数: 1、工具类名称
    • 说明: 需要工具类放在 \phpgrace\tools 目录下

    演示

    Code phpLine:2复制
  • 1.
  • 2.
    • $excel = t('phpExcel');
    • $excel = new phpgrace/tools/phpexcel();

    检测是否为移动端端访问

    Code phpLine:3复制
  • 1.
  • 2.
  • 3.
    • 函数: isMobile()
    • 参数: 无参数
    • 返回: bool值。 移动端访问则为真,非移动端为假

    判断当前协议是否为HTTPS

    Code phpLine:3复制
  • 1.
  • 2.
  • 3.
    • 函数: isHttps()
    • 参数: 无参数
    • 返回: bool值。 为https则返回真,非https返回假

    检测是否AJax请求

    Code phpLine:3复制
  • 1.
  • 2.
  • 3.
    • 函数: isAjax()
    • 参数: 无参数
    • 返回: bool值。为ajax请求返回真,非ajax请求返回假

     检测是否POST请求

    Code phpLine:3复制
  • 1.
  • 2.
  • 3.
    • 函数:isPost()
    • 参数:无参数
    • 返回:bool值。为POST请求,则为真,否则为假

    检测是否为GET请求

    Code phpLine:3复制
  • 1.
  • 2.
  • 3.
    • 函数:isGet()
    • 参数:无参数
    • 返回:bool值。为get请求,则为真,否则为假

    检测是否Patch请求

    Code phpLine:3复制
  • 1.
  • 2.
  • 3.
    • 函数:isPatch()
    • 参数:无参数
    • 返回:bool值。为PATCH请求,则为真,否则为假

    检测是否OPTIONS请求

    Code phpLine:3复制
  • 1.
  • 2.
  • 3.
    • 函数:isOptions()
    • 参数:无参数
    • 返回:bool值。为OPTIONS请求,则为真,否则为假

    POST数据进行实体化

    Code phpLine:4复制
  • 1.
  • 2.
  • 3.
  • 4.
    • 功能:将POST的数据进行实体转义,如将< 、 > 这些转为 &lt,&gt,&quot等实体(方便理解例如:加密)
    • 函数:postFilter()
    • 参数:无参数,默认为$_POST的,不需要手动再传参
    • 返回:实体化后的$_POST数据

    POST数据解开实体化

    Code phpLine:4复制
  • 1.
  • 2.
  • 3.
  • 4.
    • 功能:将实体后的数据还原。如 &lt,&gt等还原为<、>等(方便理解例如:解密)
    • 函数:jiepost($data)
    • 参数:实体化后的数据
    • 返回:已经还原实体转义后的数据