博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php 重要函数归集
阅读量:5083 次
发布时间:2019-06-13

本文共 3422 字,大约阅读时间需要 11 分钟。

1、json_encode 与 json_decode

json_encode 把数组转化成字符串 json_encode(array)

json_decode 把目标字符串转成数组json_decode(string,true),如果省略第二个参数,那么生成的是个对象

'first', 'b' => 'second', 'c' => 'third', 'd' => 'fourth', 'f' => 'fifth', 'e' => 'sixth'];$str = json_encode($arr);var_dump($str);//输出 string(75) "{"a":"first","b":"second","c":"third","d":"fourth","f":"fifth","e":"sixth"}"var_dump(json_decode($str,true));//输出 array(6) { ["a"]=> string(5) "first" ["b"]=> string(6) "second" ["c"]=> string(5) "third" ["d"]=> string(6) "fourth" ["f"]=> string(5) "fifth" ["e"]=> string(5) "sixth" }//注意如果省略第二个参数,那么输出的是一个对象?>

 在处理ajax请求的时候,采用这个函数进行数据的返回文件名test.php

'aaa', 'age' => 30 ]); }}$data = new testData();echo $data->getData();?>

前端代码

    
test
abc

2、password_hash、password_verify 与 password_get_info

password_hash(string,int $algo) algo的选项有PASSWORD_DEFAULT ,PASSWORD_BCRYPT ,PASSWORD_ARGON2I

password_verify(string,hash) 判断string与hash是否一致

password_get_info(hash)获取hash的相关信息

int(1) ["algoName"]=> string(6) "bcrypt" ["options"]=> array(1) { ["cost"]=> int(10) } }var_dump(password_verify($str, $build));//输出 bool(true)?>

 3、ini_set,int_get

ini_set(varname,value)是设置php.ini里的环境变量的值。varname表示属性,value表示值

ini_get(varname)是获取php.ini里的环境变量的值。

ini_get_all()是表示获取全部的php.ini里的环境变量的值。

 4、spl_autoload_register

spl_autoload_register(array)表示自动加载模块,接收一个参数array里面有两个子项,第一个子项表示主体对象,第二个接收一个函数,表示找不到模块时运行的函数,并且函数默认一个参数,该参数表示路径,第一个参数调用的$this表示调用本类里面的相对应的方法

//框架运行的方法public function run(){     spl_autoload_register([$this, 'load']);     $url = $_SERVER['REQUEST_URI'];    //其他代码。。。}/**解析地址  * @param $className  */private function load($className){    if (strpos($className, 'app') !== false) {        $path = str_replace('app\\', APP_PATH . 'app/', $className) . '.php';    } else if (strpos($className, 'yf') !== false) {        $path = MAIN . $className . '.php';    }else {        $path = APP_PATH . sprintf('App/controllers/%s.php', $className);    }    if (file_exists($path)) {        require $path;    }}

6、set_error_handler与set_exception_handler

set_error_handler([class,method])表示对错误信息的收集,class表示调用的类,method表示相对应的类里的方法

set_exception_handler([class,method])表示对异常信息的收集,class表示调用的类,method表示相对应的类里的方法

注意:这两个方法都不能用protected与private来修饰,只能用public,并且要注意set_exception_handler的错误信息的获取,祥见例子

//框架运行的方法public function run(){    spl_autoload_register([$this, 'load']);    //收集错误信息    set_error_handler([$this, 'AppError']);    //收集异常信息    set_exception_handler([$this, 'AppException']);    //其他代码块}/**错误信息收集的方法 * @param $errNum * @param $errStr * @param $errPos * @param $errLine */public static function AppError($errNum, $errStr, $errPos, $errLine){    $file = fopen('./App/log/error.txt', 'a');    $err = "%s,错误信息:%s,错误位置:%s,第%s行,请求地址:%s,请求时间:%s\r";    fprintf($file, $err, $errNum, $errStr, $errPos, $errLine, $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], date('Y-m-d H:i:s', $_SERVER['REQUEST_TIME']));    exit;}/**异常信息的收集方法 * @param $obj */public static function AppException($obj){    $file = fopen('./App/log/error.txt', 'a');    $exception = "%s,错误信息:%s,错误位置:%s,第%s行,请求地址:%s,请求时间:%s\r";    fprintf($file, $exception, $obj->getCode(), $obj->getMessage(), $obj->getFile(), $obj->getLine(), $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], date('Y-m-d H:i:s', $_SERVER['REQUEST_TIME']));    exit;}

 

转载于:https://www.cnblogs.com/rickyctbu/p/9763913.html

你可能感兴趣的文章
MVC+Servlet+mysql+jsp读取数据库信息
查看>>
黑马程序员——2 注释
查看>>
用OGRE1.74搭建游戏框架(三)--加入人物控制和场景
查看>>
转化课-计算机基础及上网过程
查看>>
android dialog使用自定义布局 设置窗体大小位置
查看>>
ionic2+ 基础
查看>>
互联网模式下我们更加应该“专注”
查看>>
myeclipse集成jdk、tomcat8、maven、svn
查看>>
查询消除重复行
查看>>
Win 10 文件浏览器无法打开
查看>>
HDU 1212 Big Number(C++ 大数取模)(java 大数类运用)
查看>>
-bash: xx: command not found 在有yum源情况下处理
查看>>
[leetcode]Minimum Path Sum
查看>>
内存管理 浅析 内存管理/内存优化技巧
查看>>
hiho1079 线段树区间改动离散化
查看>>
【BZOJ 5222】[Lydsy2017省队十连测]怪题
查看>>
第二次作业
查看>>
【input】 失去焦点时 显示默认值 focus blur ★★★★★
查看>>
Java跟Javac,package与import
查看>>
day-12 python实现简单线性回归和多元线性回归算法
查看>>