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 相关文章推荐
2.PHP入门
Oct 09 PHP
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
Aug 11 PHP
PHP安全配置详细说明
Sep 26 PHP
php中如何防止表单的重复提交
Aug 02 PHP
php利用新浪接口查询ip获取地理位置示例
Jan 20 PHP
PHP查找与搜索数组元素方法总结
Jun 12 PHP
php获取图片信息的方法详解
Dec 10 PHP
Zend Framework教程之Autoloading用法详解
Mar 08 PHP
Symfony2学习笔记之模板用法详解
Mar 17 PHP
php简单处理XML数据的方法示例
May 19 PHP
Yii2.0实现的批量更新及批量插入功能示例
Jan 29 PHP
phpfpm的作用和用法
Oct 10 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 选项及相关信息函数库
2006/12/04 PHP
php预定义常量
2006/12/25 PHP
php下Memcached入门实例解析
2015/01/05 PHP
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
2013/03/27 Javascript
关于Javascript与iframe的那些事儿
2013/07/04 Javascript
javascript 获取网页标题代码实例
2014/01/22 Javascript
jquery实现图片按比例缩放示例
2014/07/01 Javascript
JS实现窗口加载时模拟鼠标移动的方法
2015/06/03 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
Bootstrap CSS布局之表单
2016/12/17 Javascript
jQuery插件HighCharts实现2D柱状图、折线图的组合多轴图效果示例【附demo源码下载】
2017/03/09 Javascript
JavaScrip数组删除特定元素的几种方法总结
2017/09/06 Javascript
Vue.JS项目中5个经典Vuex插件
2017/11/28 Javascript
vue中echarts3.0自适应的方法
2018/02/26 Javascript
微信小程序中换行空格(多个空格)写法详解
2018/07/10 Javascript
微信公众号平台接口开发 获取access_token过程解析
2019/08/14 Javascript
vue中进行微博分享的实例讲解
2019/10/14 Javascript
[02:47]DOTA2亚洲邀请赛 HR战队出场宣传片
2015/02/07 DOTA
[14:24]Optic Gaming vs PSG LGD BO3
2018/06/07 DOTA
PyQt5 pyqt多线程操作入门
2018/05/05 Python
python 实现交换两个列表元素的位置示例
2019/06/26 Python
pytest中文文档之编写断言
2019/09/12 Python
Python协程 yield与协程greenlet简单用法示例
2019/11/22 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
2020/03/25 Python
聪明的粉丝购买门票的地方:TickPick
2018/03/09 全球购物
大学生求职信范文应怎么写
2014/01/01 职场文书
大学生实习思想汇报
2014/01/12 职场文书
市三好学生主要事迹
2014/01/28 职场文书
基层党支部公开承诺书
2014/05/29 职场文书
施工安全责任书范本
2014/07/24 职场文书
践行党的群众路线心得体会
2014/11/05 职场文书
质量承诺书格式范文
2015/04/28 职场文书
授权协议书范本(3篇)
2019/10/15 职场文书
MySQL5.7并行复制原理及实现
2021/06/03 MySQL
Spring Security中用JWT退出登录时遇到的坑
2021/10/16 Java/Android