1.$str .= $key.'='.$value.'&';.&'是什么意思。
2.sha1() 函数使用美国 Secure Hash 算法 1。来自 RFC 3174 的解释 - 美国 Secure Hash 算法 1:SHA-1 产生一个名为报文摘要的 160 位的输出。报文摘要可以被输入到一个可生成或验证报文签名的签名算法。对报文摘要进行签名,而不是对报文进行签名,这样可以提高进程效率,因为报文摘要的大小通常比报文要小很多。数字签名的验证者必须像数字签名的创建者一样,使用相同的散列算法。
3.openssl_pkcs12_read()函数:openssl_pkcs12_read — 将 PKCS#12 证书存储区解析到数组中
4CER有两层意思:1. 用于存储公钥证书的文件格式。
5.在PHP中,openssl_sign函数用于使用私钥对数据进行签名。其基本用法如下:
openssl_sign(string $data, string &$signature, mixed $private_key [, mixed $algorithm = OPENSSL_ALGO_SHA256]): bool
private static function sign($data){
$pk = self::$private_key;
openssl_sign($data, $sign, $pk);
$sign = base64_encode($sign);
return $sign;
}
咋一看KaTeX parse error: Expected 'EOF', got '#' at position 42: …函数有点不一样,捂脸.... #̲语法是这样的: **opens…data, s i g n , sign, sign,pk); 传入了 d a t a 数 据 o p e n s s l s i g n ( ) 对 data数据 openssl_sign()对 data数据openssl
s
ign()对data进行签名,用的是静态变量 p r i v a t e k e y , 签 名 完 成 后 返 回 了 private_key,签名完成后返回了 private
k
ey,签名完成后返回了sign 作为签名结果,然后再base64_encode() 进行二进制编码,然后返回编码过后的签名*
参数说明:
$data: 要签名的数据。
$signature: 签名后的数据将会存储在此变量中。
$private_key: 用于签名的私钥,可以是私钥的文件路径、资源或者 PEM 格式的私钥字符串。
$algorithm: 签名算法,默认为OPENSSL_ALGO_SHA256。
6.->作用:符号是“插入式解引用操作符”。换句话说,它用来调用由引用传递参数的子程序的方法(当然,还有其它的作用)。正如我们上面所提到的,在调用php的函数的时候,大部分参数都是通过引用传递的。php中的‘->’功能就和它们在perl或c++中一样列子:
7.Yii::$app:应用主体是管理 Yii 应用系统整体结构和生命周期的对象。 每个 Yii 应用系统只能包含一个应用主体,应用主体在 入口脚本 中创建并能通过表达式 \Yii::$app
全局范围内访问。
Yii有两种应用主体: 网页应用主体 和 控制台应用主体, 如名称所示,前者主要处理网页请求,后者处理控制台请求。个人:返回此应用的一些参数如:
Yii::$app->getHomeUrl(); // 返回首页 URL
Yii::$app->getTimeZone(); // 返回此应用使用的时区
Yii::$app->getVendorPath(); // 返回 vendor 目录
Yii::$app->getRuntimePath(); // 返回此应用运行时临时文件的目录
Yii::$app->getBasePath(); // 返回此应用的根目录
Yii::$app->getLayoutPath(); // 返回此应用的布局视图目录
Yii::$app->getViewPath(); // 返回此应用的视图目录
Yii::$app->getControllerPath(); // 返回此应用的控制器的目录
Yii::$app->getVersion(); // 返回此应用的版本号
8.Url::toRoute()函数获取当前路径。绝对路径相对路径等。
Url::toRoute(['payment/unionpayreturn'], true), //前台通知地址
'backUrl' => Url::toRoute(['payment/unionpaynotify'], true), //后台通知地址
9.openssl_verify( )函数:verify命令对证书的有效性进行验证,verify 指令会沿着证书链一直向上验证,直到一个自签名的CA。
10.openssl_x509_parse - 解析X509证书并以数组形式返回信息。openssl_x509_read - 解析X.509证书并返回其资源标识符。
11.
<?php
class union{
public $params=array(
'a'=>'1','b'=>'5','c'=>'3','d'=>'4'
);
public $x='bbb';
public function arr(){
$p=$this->params;//调用类中的公共参数的方法。
foreach($p as $k => $v){
$c=$this->x;//调用类中的公共参数的方法。且如果是放在循环外面返回才是:bbba=1&b=5&c=3&d=4&。在里面结果不对。并且return放在循坏里面也不对。返回bbba=1&。很怪。
$c .=$k . $v ;
echo $c;
}
//return $c;循环外只返回了最后一个.。
}
//echo $x;
}
$union=new union();
$union->arr();//循环外只返回了最后一个。以及明白了$this->和->的用法。
?>
12.mt_rand(min,max)随机生成中间的数。
I 函数的作用是获取系统变量,必要时还可以对变量值进行过滤及强制转化,I 函数的语法格式:
I('变量类型.变量名/修饰符',['默认值'],['过滤方法或正则'],['额外数据源'])。M方法用于实例化一个基础模型类,和D方法的区别在于:
1、不需要自定义模型类,减少IO加载,性能较好;
2、实例化后只能调用基础模型类(默认是Model类)中的方法;
3、可以在实例化的时候指定表前缀、数据库和数据库的连接信息;
D方法的强大则体现在你封装的自定义模型类有多强,不过随着新版ThinkPHP框架的基础模型类的功能越来越强大,M方法也比D方法越来越实用了。 类似于创建一个表格对象?
M方法的调用格式:
M('[基础模型名:]模型名','数据表前缀','数据库连接信息')
我们来看下M方法具体有哪些用法:
1、实例化基础模型(Model) 类
在没有定义任何模型的时候,我们可以使用下面的方法实例化一个模型类来进行操作。
13.Find函数是一种在文本中查找指定字符串的功能。它可以帮助用户快速定位所需的文本,并返回该字符串在文本中的位置。Find函数的使用方法相对简单,下面将详细介绍如何使用Find函数
14.
file_put_contents() 函数把一个字符串写入文件中。该函数访问文件时,遵循以下规则
int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
15.where方法的用法是ThinkPHP查询语言的精髓,也是ThinkPHP ORM的重要组成部分和亮点所在,可以完成包括普通查询、表达式查询、快捷查询、区间查询、组合查询在内的查询操作。where方法的参数支持字符串和数组,虽然也可以使用对象但并不建议。
$User = M("User"); // 实例化User对象
$User->where('type=1 AND status=1')->select();
//相当于SELECT * FROM think_user WHERE type=1 AND status=1
16.setInc()函数, 自增。
<?php
namespace app\index\controller;
use think\Db;
class Index {
public function index(){
//1.更新id=1010的记录,将age 字段 加 10
Db::table('tp5_staff') -> where('id',1010) -> setInc('age',10);
//查询id=1010的记录
dump(Db::table('tp5_staff')->find(1010));
}
}
rray(7) {
["id"] => int(1010)
["name"] => string(9) "欧阳峰"
["sex"] => int(1)
["age"] => int(28) //之前为18,现在已更新为28,自增成功
["salary"] => float(4900)
["dept"] => int(2)
["hiredate"] => string(10) "2013-09-22"
}
phpstudy中含有数据库操作的。
11.thinkphp安装:安装composer。直接next。安装路径上面有php相关默认安装路径即不用管直接安装。打开cmd。用cd等命令进入到thp6要安装到目录安装,网上有composer安装thp命令。本人使用的是phpsthdy_pro。vsc项目目录在www处。