php7 教程
标量类型声明
1. 分为强制模式和严格模式
2. 这些类型的函数参数可以执行声明
int, float, bool, string, interfaces, array, callable
例如:
function sum(int ...$ints){
return array_sum($ints);
}
print(sum(2,'3',4.1)); //9
如果在最头部加上代码:
declare(strict_types=1); //设置为严格模式
则会报错
Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, ...
返回类型声明
指定函数返回值的类型
declare(strict_types = 1);
function returnIntValue(int $value): int {
return $value; // 改为: return $value+1.0; 则会报错
}
print(returnIntValue(5)); //5
空合并运算符(??)
$info = isset($_GET['name']) ? $_GET['name'] : 'not name';
上面那种写法, 现在可以这么写:
$info = $_GET[name'] ?? 'not name';
或
$info = $_GET['name'] ?? $_POST['name'] ?? 'not name';
飞船操作符
用于比较两个表达式。当第一个表达式比第二个表达式分别小于,等于或大于它返回-1,0或1
例如:
print( 1 <=> 1);print("<br/>");
print( 1 <=> 2);print("<br/>");
print( 2 <=> 1);print("<br/>");
返回:
0
-1
1
define常量数组
在php5.6中只能用const定义, 现在可以用define:
define('cats',['blue cat','white cat','black cat']);
new class 匿名类
$app->setLogger(new class{
public function log(string $msg){
print($msg);
}
});
Closure::call()
将一个闭包函数动态绑定到一个新的对象实例, 并执行该函数
class A{
private $x = 1;
}
$getX = function(){
return $this->x;
};
echo $getX->call(new A);
为unserialize()提供过滤
IntlChar类
随机数
string random_bytes (int $length) 生成伪随机字节
int random_int (int $min, int $max) 生成伪随机在整数
use语句
从同一个命名空间导入类, 函数, 常量, 而不需要多次使用use
use com\yiibai\{ClassA, ClassB, ClassC as C};
use function com\yiibai\{fn_a, fn_b, fn_c};
use const com\yiibai\{ConstA, ConstB, ConstC};
intdiv 函数
执行整数除法并返回int
$value = intdiv(10,3);
print($value); //3
session支持数组参数
session_start([
'cache_limiter' => 'private',
'read_and_close' => true,
]);
php7弃用的功能
1. 类和方法的名称相同, 不行
class A {
function A(){
...
}
}
2. 不能调用非静态方法
class A {
function b(){
...
}
}
A::b(); //错!
php7 教程的更多相关文章
- CentOS 6.5 安装 php7 教程 包很重要使用lnmp1.4里面的包
./configure \ --prefix=/usr/local/php-7.0.1 \ --with-mysql=mysqlnd \ --with-pdo-mysql=mysqlnd \ --wi ...
- PHP环境配置综合篇
1.WNMP: http://www.wnmp.com.cn/ En: https://www.getwnmp.org/ 2.xampp:https://www.apachefriends.o ...
- Windows服务器安装配置PHP7.0环境图文教程
摘自http://www.111cn.net/phper/linux-php/109865.htm Windows服务器安装配置PHP7.0环境图文教程 www.111cn.net 更新:2016-0 ...
- vagrant系列教程(三):vagrant搭建的php7环境(转)
原文:http://blog.csdn.net/hel12he/article/details/51107236 前面已经把vagrant的基础知识已经基本过了一遍 了,相信只要按着教程来,你已经搭建 ...
- Ubuntu17.04配置LNMP(Nginx+PHP7+MySQL)简单教程 快速 易学 简单易懂
我安装的是当前最新的Ubuntu版本17.04,在虚拟机中先试用一下,如果没有什么不稳定的现象,准备以后作为主力操作系统 Ubuntu属于Debian系的Linux系统,拥有着一个很NB的软件包管理器 ...
- PHP7+Nginx的配置与安装教程详解
下面脚本之家小编把PHP7+Nginx的配置与安装教程分享给大家,供大家参考,本文写的不好还请见谅. 系统环境:centos6.5 x64 软件版本:nginx-1.10.0 php-7.0.6 安装 ...
- PHP7安装Memcache+Memcached缓存加速WordPress教程
PHP7安装Memcache+Memcached缓存加速WordPress教程 2016年1月19日 6,691 Views 生活方式 PHP7最显著的变化就是性能的极大提升,已接近Facebook开 ...
- 在 Ubuntu/Debian 下安装 PHP7.3 教程
介绍 最近的 PHP 7.3.0 已经在 2018 年12月6日 发布 GA,大家已经可以开始第一时间体验新版本了,这里先放出 PHP7.3 安装的教程以便大家升级. 适用系统: Ubuntu 18. ...
- ThinkPHP5在PHP7以上使用QueryList4, ThinkCMF在PHP5中使用QueryList3教程
QueryList 是一款用于网页采集爬虫的框架,官方最新版本为QueryList4,QueryList4版本只能在PHP7以上使用: 在PHP7以上环境中,如何在ThinkPHP5中使用QueryL ...
随机推荐
- VUE模仿百度搜索框,按上下方向键及回车键实现搜索选中效果
逻辑介绍: 1.表单获取焦点时,显示搜索建议框 2.输入内容时,请求后台接口,并将返回的数据展示在搜索建议框内 3.表单获取焦点情况下,按键盘上下箭头可实现搜索列表项的切换,按回车可以选择当前激活的选 ...
- css中的float属性以及清除方法 (2011-09-03 17:36:26)
CSS里面的浮动属性是布局的常用工具,只有真正了解它并熟练使用才能将它的优点发挥到极致. 许多页面中都有文字绕图效果,并且各区块分布得错落有置,很多朋友在自学CSS布局时为了做出这些效果往往会被div ...
- C# 数据库并发的解决方案(通用版、EF版)
自ASP.NET诞生以来,微软提供了不少控制并发的方法,在了解这些控制并发的方法前,我们先来简单介绍下并发! 并发:同一时间或者同一时刻多个访问者同时访问某一更新操作时,会产生并发! 针对并发的处理, ...
- Hive原理总结(完整版)
目录 课程大纲(HIVE增强) 3 1. Hive基本概念 4 1.1 Hive简介 4 1.1.1 什么是Hive 4 1.1.2 为什么使用Hive 4 1.1.3 Hive的特点 4 1.2 H ...
- 单机安装Hadoop
单机安装hadoop ------------------------------------------------------------------ 操作系统:centos7 64 位 hado ...
- 使用Java打印字符串表格(中英文内容不乱)
最近在学习使用java来编写cli应用,但是在信息展示上碰到了难题.原因是没有很好工具来展示一个由字符串组成的表格.在git上搜到阿里巴巴有一个叫做 text-ui 的开源项目可以用,但是这个工具在制 ...
- C#设计模式——简单工厂模式、工厂模式和抽象工厂模式
一:简单工厂模式 1:描述:简单工厂模式是由一个工厂对象根据接收到的消息决定要创建哪一个类的对象事例. 2:优点:工厂类中有相关逻辑判断,可以根据需要动态创建相关的对象事例,而客户端只需要告诉工厂类创 ...
- 【19】中间者模式(Mediator Pattern)
一.引言 在现实生活中,有很多中介者模式的身影,例如QQ游戏平台,聊天室.QQ群和短信平台,这些都是中介者模式在现实生活中的应用,下面就具体分享下我对中介者模式的理解. 二. 中介者模式的介绍 2.1 ...
- JMeter 参数化之利用JDBCConnectionConfiguration从数据库读取数据并关联变量
参数化之利用DBC Connection Configuration从数据库读取数据并关联变量 by:授客 QQ:1033553122 1. 下载mysql jar包 下载mysql jar包 ...
- 安卓开发_深入理解Activity和Fragment的关系
Fragment(碎片)是必须嵌入在 Activity(活动) 中使用的.Fragment的生命周期随着Activity的生命周期的变化而变化 一.首先让我们看下Activity和Fragment的生 ...