php7新特性的理解和比较
1. null合并运算符(??)
2.define() 定义常量数组
3. 组合比较符(<=>)
4. 变量类型声明,返回值类型声明
5.允许new class {} 创建一个匿名的对象.
6.unserialize()函数:过滤的特性,可以防止非法数据进行代码注入,提供了更安全的反序列化数据,
7.CSPRNG 函数提供一种简单的机制来生成密码的随机数.use 语句,
8.新增加intdiv()函数,接收两个参数,返回值为第一个参数除于第二个参数的值并取整,
9.PHP7 错误处理大多数错误被作为Error异常抛出
10.函数语法修改 例如grep_replace 修饰符e 被删去。
class Singleton
{
private static $instance = null;
private function __construct()
{}
//对外提供一个静态方法
public static function getInstance(): Singleton
{
if (self::$instance === null) {
//如果没有,则创建当前类的实例
self::$instance = new self();
}
return self::$instance;
}
1、构造函数需要标记为private(访问控制:防止外部代码使用new操作符创建对象),单例类不能在其他类中实例化,只能被其自身实例化;
2、拥有一个保存类的实例的静态成员变量
3、拥有一个访问这个实例的公共的静态方法(常用getInstance()方法进行实例化单例类,通过instanceof操作符可以检测到类是否已经被实例化
非主键索引的叶子节点存放的是主键的值,而主键索引的叶子节点存放的是整行数据,其中非主键索引也被称为二级索引,而主键索引也被称为聚簇索引。根据这两种结构我们来进行下查询,看看他们在查询上有什么区别。
1、如果查询语句是 select * from table where ID = 100,即主键查询的方式,则只需要搜索 ID 这棵 B+树。
2、如果查询语句是 select * from table where k = 1,即非主键的查询方式,则先搜索k索引树,得到ID=100,再到ID索引树搜索一次,这个过程也被称为回表。
原文:https://www.cnblogs.com/yudubujue/p/11819362.html