您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > php

php7和php5区别

时间:2019-09-09 14:04:40  来源:  作者:

1、php常量类型和返回类型声明

#主要分为两种模式,强制性模式和严格模式 declare(strict_types=1)

#1表示严格类型校验模式,作用于函数调用和返回语句;0表示弱类型校验 模式。

2、NULL合并运算符

$site = isset($_GET['site']) ? $_GET['site'] : 'wo';

#简写成

$site = $_GET['site'] ??'wo';

3、组合预算符

// 整型比较

print( 1 <=> 1);print(PHP_EOL);

print( 1 <=> 2);print(PHP_EOL);

print( 2 <=> 1);print(PHP_EOL);

print(PHP_EOL); // PHP_EOL 为换行符

//结果:

0

-1

4、常量数组

// 使用 define 函数来定义数组

define('sites', [

'google',

'Jser',

'Taobao'

]);

print(sites[1]);

5、匿名类

interface Logger {

public function log(string $msg);

}

class Application {

private $logger;

public function getLogger(): Logger {

return $this->logger;

}

public function setLogger(Logger $logger) {

$this->logger = $logger;

}

}

$app = new Application;

// 使用 new class 创建匿名类

$app->setLogger(new class implements Logger {

public function log(string $msg) {

print($msg);

}

});

$app->getLogger()->log("我的第一条日志");

6、Closure::call()方法增加,意思向类绑定个匿名函数

<?php

class A {

private $x = 1;

}

// PHP 7 之前版本定义闭包函数代码

$getXCB = function() {

return $this->x;

};

// 闭包函数绑定到类 A 上

$getX = $getXCB->bindTo(new A, 'A');

echo $getX();

print(PHP_EOL);

// PHP 7+ 代码

$getX = function() {

return $this->x;

};

echo $getX->call(new A);

?>

7、CSPRNG(伪随机数产生器)

PHP 7 通过引入几个 CSPRNG 函数提供一种简单的机制来生成密码学上强壮的随机数。

random_bytes() - 加密生存被保护的伪随机字符串。

random_int() - 加密生存被保护的伪随机整数。

8、use 语句改变

#可以导入同一个namespace下的类简写

use somenamespace{ClassA, ClassB, ClassC as C};

9、Session 选项

1.session_start()可以定义数组

<?php

session_start([

'cache_limiter' => 'private',

'read_and_close' => true,

]);

?>

10.为什么 PHP7 比 PHP5 性能提升了?

1、变量存储字节减小,减少内存占用,提升变量操作速度

2、改善数组结构,数组元素和hash映射表被分配在同一块内存里,降低了内存占用、提升了 cpu 缓存命中率

3、改进了函数的调用机制,通过优化参数传递的环节,减少了一些指令,提高执行效率



Tags:php   点击:()  评论:()
声明:本站部分内容来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除,谢谢。
▌相关评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
▌相关推荐
PHP 8,PHP 的一个新的大版本,预计将于2020年12月3日发布,这意味着将不会有 PHP 7.5 版本。PHP8目前正处于非常活跃的开发阶段,所以在接下来的几个月里,情况可能会发生很大的变化...【详细内容】
2020-07-06   php  点击:(1)  评论:(0)  加入收藏
引言之前的文章我们已经讲过,在 PHP 类的创建过程中,使用 self 作为类本身的引用,使用 $this 作为类对象的引用。 而在 self 和 static 的使用上,有着细微的差别。特别是类继承...【详细内容】
2020-07-05   php  点击:(0)  评论:(0)  加入收藏
用任何编程语言来开发程序,都是为了让计算机干活,比如编写一篇文章,下载一首MP3等,而计算机干活的CPU只认识机器的指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可...【详细内容】
2020-06-29   php  点击:(1)  评论:(0)  加入收藏
对于php开发小白来说搭建一个php运行环境就是一道坎!因为要做php开发,搭建一个能够运行php网站的服务器环境是第一步,传统的php环境软件非常复杂,好在很多公司开发了一键搭建php...【详细内容】
2020-06-26   php  点击:(4)  评论:(0)  加入收藏
根据Alexa最新调查数据显示,服务器端编程语言的所有网站中,有79.0%使用PHP,使用PHP的所有网站中有52.8%使用了版本PHP7以上,当然稳定的版本PHP5依然有在所有php网站中占46.9%以上。...【详细内容】
2020-06-24   php  点击:(1)  评论:(0)  加入收藏
只想简单的做个带几个路由的服务,用 PHP 框架就有点大题小作了。Klein.php,这个轻量级的路由库,此时是一个不错的选择。Klein.php简介Klein.php,是 klein 组织在 Github 上开源...【详细内容】
2020-06-16   php  点击:(2)  评论:(0)  加入收藏
在这篇文章中,小编要给您推荐的是这款内置集成环境的软件,phpstudy。有些人一看到这个是国产的集成环境软件,心里就过不去,但是小编想说的是,不要因为他是国产软件就直接否定他,实...【详细内容】
2020-06-09   php  点击:(5)  评论:(0)  加入收藏
phpMyAdmin是一个非常受欢迎的基于web的MySQL数据库管理工具。它能够创建和删除数据库,创建/删除/修改表格,删除/编辑/新增字段,执行SQL脚本等,phpmyadmin也就相当于一个mysql...【详细内容】
2020-05-30   php  点击:(4)  评论:(0)  加入收藏
什么是连接池?顾名思义,连接池就是一堆预先创建好的连接,跟容器会有点像。连接池主要是在某种需要网络连接的服务,提前把连接建立好存起来,然后存放在一个池子里面,需要用到的时候...【详细内容】
2020-05-29   php  点击:(1)  评论:(0)  加入收藏
安装#进入安装目录cd /usr/local/bin#下载并安装sudo curl -s https://getcomposer.org/installer | sudo php#添加执行权限sudo chmod a+x composer.phar#加入全局命令mv...【详细内容】
2020-05-25   php  点击:(3)  评论:(0)  加入收藏
soap协议这个古老的通过wsdl文件通讯的协议,使用极其不方便,但是还有一些顽固的国企在使用,没办法,有一些需求必须跟他们对接接口,怎么办呢,在使用soap协议调用时候,php在这方面资...【详细内容】
2020-05-16   php  点击:(1)  评论:(0)  加入收藏
PHP与MySQL的连接有三种API接口,分别是:PHP的MySQL扩展 、PHP的mysqli扩展 、PHP数据对象(PDO) 。下面针对以上三种连接方式做下总结,以备在不同场景下选出最优方案。PHP的MySQ...【详细内容】
2020-05-14   php  点击:(4)  评论:(0)  加入收藏
1 尽量静态化如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。当然了,这个测试方法需要在十万级以上次执行,效果才明显。其实静态方...【详细内容】
2020-05-13   php  点击:(2)  评论:(0)  加入收藏
1. 将MySQL安装压缩包解压,将解压后的文件夹移动到安装目录下,比如示例中将mysql-5.7.24-winx64.zip解压后的文件夹重命名为mysql,并移动到C:\Program Files下 2. 右击“此电脑...【详细内容】
2020-05-12   php  点击:(3)  评论:(0)  加入收藏
环境: 1、系统:Centos 7 2、Tengine 2.1.2 3、PHP 7.0 4、Mysql 5.7 5、supervisord 6、redis一、安装依赖包yum udateyum -y install gcc gcc-c++ autoconf automakeyum -y i...【详细内容】
2020-05-12   php  点击:(13)  评论:(0)  加入收藏
事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元;事务的ACID特性事务应该具有4个属性:原子性、一致性、隔离性、持续性原子性(atomicity)。一个事务是...【详细内容】
2020-05-12   php  点击:(8)  评论:(0)  加入收藏
我从2012年开始学习如何使用HTML和CSS进行编码,自从我的编码之旅开始以来,PHP一直是我一直想学习的语言之一。 作为一个刚从JavaScript培训学校毕业的学生,我决定要重新尝试学...【详细内容】
2020-05-11   php  点击:(2)  评论:(0)  加入收藏
PHP-8将于今年年底发布,其最令人期待的功能之一就是JIT编译。让我们通过本文来看看这项功能对PHP脚本的速度有怎样的影响? 以下为译文:今年年底,PHP-8即将发布。虽然这个主版本...【详细内容】
2020-05-07   php  点击:(5)  评论:(0)  加入收藏
目录 概述 策略模式含义 策略模式的三种角色 策略模式实现步骤 策略模式设计代码实现 php7进阶到架构师相关阅读概述这是关于php进阶到架构之php7核心技术与实战学习的系列...【详细内容】
2020-05-07   php  点击:(1)  评论:(0)  加入收藏
我个人有一台阿里云的 ECS 服务器,平时用来测试的,前段时间 装过php7.2 是按照线上生产环境的步骤做的,只不过,生产环境不可能是一台一台手动安装的。我今天只是想把单台的安装...【详细内容】
2020-05-06   php  点击:(3)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条