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安装问题
Oct 09 PHP
1.PHP简介
Oct 09 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
Nov 10 PHP
PHP5常用函数列表(分享)
Jun 07 PHP
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
Jun 12 PHP
PHP内置过滤器FILTER使用实例
Jun 25 PHP
php实现模拟post请求用法实例
Jul 11 PHP
windows下apache搭建php开发环境
Aug 27 PHP
学习PHP的数组总结【经验】
May 05 PHP
php中array_column函数简单实现方法
Jul 11 PHP
PHP去除字符串最后一个字符的三种方法实例
Mar 01 PHP
PHP接入微信H5支付的方法示例
Oct 28 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
使用sockets:从新闻组中获取文章(三)
2006/10/09 PHP
php调用c接口无错版介绍
2014/03/11 PHP
php获取apk包信息的方法
2014/08/15 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
2014/11/12 PHP
php限制文件下载速度的代码
2015/10/20 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
2015/12/08 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
2016/12/15 PHP
cnblogs 代码高亮显示后的代码复制问题解决实现代码
2011/12/14 Javascript
JSON取值前判断
2014/12/23 Javascript
JS修改iframe页面背景颜色的方法
2015/04/01 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
2016/08/05 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
详谈javascript精度问题与调整
2017/07/08 Javascript
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
bootstrap 通过加减按钮实现输入框组功能
2017/11/15 Javascript
jquery中done和then的区别(详解)
2017/12/19 jQuery
详解服务端预渲染之Nuxt(介绍篇)
2019/04/07 Javascript
手写Vue弹窗Modal的实现代码
2019/09/11 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
2019/09/23 Javascript
vue实现文字加密功能
2019/09/27 Javascript
vue项目中锚点定位替代方式
2019/11/13 Javascript
python冒泡排序算法的实现代码
2013/11/21 Python
Python3基础之条件与循环控制实例解析
2014/08/13 Python
tensorflow 查看梯度方式
2020/02/04 Python
python 实现 hive中类似 lateral view explode的功能示例
2020/05/18 Python
Python如何合并多个字典或映射
2020/07/24 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
2020/09/24 Python
纯css3实现效果超级炫的checkbox复选框和radio单选框
2014/09/01 HTML / CSS
CSS3 Flex 弹性布局实例代码详解
2018/11/01 HTML / CSS
竞选宣传委员演讲稿
2014/05/24 职场文书
开展警示教育活动总结
2015/05/09 职场文书
2016年小学生清明节广播稿
2015/12/17 职场文书
Python基础详解之描述符
2021/04/28 Python
Nginx防盗链与服务优化配置的全过程
2022/01/18 Servers
Java 异步任务计算FutureTask
2022/04/28 Java/Android
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers