PHP类型约束用法示例


Posted in PHP onSeptember 28, 2016

本文实例讲述了PHP类型约束用法。分享给大家供大家参考,具体如下:

在强类型语言中,类型约束是语法上的要求,即定义一个变量的时候,必须指定类型,并以后也只能存储该类型数据;

php是弱类型,其特点是无需为变量指定类型,而且在其后也可以存储任何类型,不过在php的新语法中,在某些特定场合,针对某些特定类型,也可进行语法约束。

特定场合:函数(方法)的形参变量

特定类型:对象类型(类名)、接口类型(接口名)、数组类型(array)、函数类型(callable)

即可以对函数(方法)的参数设定必须使用的类型。只能对对象、接口、数组和函数进行约束。

function f(类名 $p){}
// 要求参数只能使用该类的对象
function f(接口名 $p){}
// 要求该参数只能使用实现该接口的对象
function f(arrary $p){}
// 要求该参数只能使用数组
function f(callable $p)
// 要求该参数只能是一个函数(方法),此时称之为回调函数(方法)
<?php
class A{}
function f(A $p){}
$obj = new A();
f($obj);

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php生成的html meta和link标记在body标签里 顶部有个空行
May 18 PHP
php session安全问题分析
Jun 24 PHP
PHP函数preg_match_all正则表达式的基本使用详细解析
Aug 31 PHP
ThinkPHP3.1之D方法实例详解
Jun 20 PHP
PHP动态页生成静态页的3种常用方法
Nov 13 PHP
php利用cookie实现自动登录的方法
Dec 10 PHP
5款适合PHP使用的HTML编辑器推荐
Jul 03 PHP
PHP的文件操作与算法实现的面试题示例
Aug 10 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
Dec 31 PHP
round robin权重轮循算法php实现代码
May 28 PHP
在TP5数据库中四个字段实现无限分类的示例
Oct 18 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
Apr 20 PHP
PHP类和对象相关系统函数与运算符小结
Sep 28 #PHP
PHP序列化操作方法分析
Sep 28 #PHP
PHP类的特性实例分析
Sep 28 #PHP
PHP页面跳转操作实例分析(header方法)
Sep 28 #PHP
PHP会话操作之cookie用法分析
Sep 28 #PHP
PHP session会话操作技巧小结
Sep 27 #PHP
PHP简单预防sql注入的方法
Sep 27 #PHP
You might like
php下通过curl抓取yahoo boss 搜索结果的实现代码
2011/06/10 PHP
php之XML转数组函数的详解
2013/06/07 PHP
php去掉URL网址中带有PHPSESSID的配置方法
2014/07/08 PHP
php验证码生成代码
2015/11/11 PHP
Google Map Api和GOOGLE Search Api整合实现代码
2009/07/18 Javascript
jQuery让控件左右移动的三种实现方法
2013/09/08 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
2014/09/02 Javascript
ES6新特征数字、数组、字符串
2016/10/01 Javascript
简单几步实现返回顶部效果
2016/12/05 Javascript
5种JavaScript脚本加载的方式
2017/01/16 Javascript
深入理解Vue 的钩子函数
2018/09/05 Javascript
vuex实现及简略解析(小结)
2019/03/01 Javascript
详解vue组件之间的通信
2020/08/30 Javascript
微信小程序实现点击生成随机验证码
2020/09/09 Javascript
OpenLayers3实现对地图的基本操作
2020/09/28 Javascript
python爬取NUS-WIDE数据库图片
2016/10/05 Python
python利用拉链法实现字典方法示例
2017/03/25 Python
对python3中pathlib库的Path类的使用详解
2018/10/14 Python
python实现维吉尼亚算法
2019/03/20 Python
用Anaconda安装本地python包的方法及路径问题(图文)
2019/07/16 Python
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
Shell如何接收变量输入
2016/08/06 面试题
优秀教师工作感言
2014/02/16 职场文书
食品安全工作实施方案
2014/03/26 职场文书
机械设备与数控技术专业求职信
2014/08/10 职场文书
专业见习报告范文
2014/11/03 职场文书
2014年教学管理工作总结
2014/12/02 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
办公室个人总结
2015/02/28 职场文书
2015年八一建军节演讲稿
2015/03/19 职场文书
2015年体育部工作总结
2015/04/02 职场文书
2015年财政所工作总结
2015/04/25 职场文书
MySQL REVOKE实现删除用户权限
2021/06/18 MySQL
Python中22个万用公式的小结
2021/07/21 Python
Python帮你解决手机qq微信内存占用太多问题
2022/02/15 Python
特别篇动画《总之就是非常可爱 ~制服~》PV公开,2022年夏季播出
2022/04/04 日漫