PHP类型约束用法示例_php技巧

本文实例讲述了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基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
类型约束
wx.notebook用法示例、halcon算子用法示例、qdebug用法示例、校对符号及用法示例、汉英翻译技巧示例 pdf,以便于您获取更多的相关知识。

时间: 2024-11-03 00:33:44

PHP类型约束用法示例_php技巧的相关文章

SAE实时日志接口SDK用法示例_php技巧

本文实例讲述了SAE实时日志接口SDK用法.分享给大家供大家参考,具体如下: 新浪SAE是新浪研发中心开发的国内首个公有云平台,从2009年开始到现在也是也来越成熟,开放了很多接口以及服务供开发者使用.这次为了方便开发者调试分析,SAE新增实时日志查询接口.今后您可以通过API对日志信息进行筛选,并下载所需的实时日志.但是新浪SAE官方只给出的Python的实现,这里给出PHP版本的接口调用SDK class SaeApiHandler{ /** * 定义accessKey */ private

PHP实现的多文件上传类及用法示例_php技巧

本文实例讲述了PHP实现的多文件上传类及用法.分享给大家供大家参考,具体如下: 1.upFiles.css.php 文件 <?php class UploadFiles{ private $maxsize = '1000000'; //允许上传文件最大长度 private $allowtype = array('jpg','png','gif','jpeg');//允许上传文件类型 private $israndfile = true;//是否随机文件名 private $filepath;//

PHP实现导出excel数据的类库用法示例_php技巧

本文实例讲述了PHP实现导出excel数据的类库用法.分享给大家供大家参考,具体如下: 今天一个项目要做一个PHP导出数据用excel保存,在网上找到一个本来是想用phpexcel的,后来发现太难了,就换了一个但导出的歌声是XML 类写的很简单,但很实用.只能简单的导出字符串和数字二种格式. 如果你有兴趣,你可以拿去扩充了,基本够用. class Excel_XML { //定于私有变量,顶部标签 private $header = "<?xml version=\"1.0\&q

php上传图片类及用法示例_php技巧

本文实例讲述了php上传图片类及用法.分享给大家供大家参考,具体如下: 1.类文件名为:upclass.php <?php class upclass{ public $previewsize=0.125 ; //预览图片比例 public $preview=0; //是否生成预览,是为1,否为0 public $datetime; //随机数 public $ph_name; //上传图片文件名 public $ph_tmp_name; //图片临时文件名 public $ph_path=&quo

PHP单态模式简单用法示例_php技巧

本文实例讲述了PHP单态模式简单用法.分享给大家供大家参考,具体如下: 单态类就是只能实例化一次的类 <?php /* 作者 : shyhero */ class Demo{ private static $ob=null; private $name; private $age; private function __construct(){ } public static function makeOb(){ var_dump($a); if(self::$ob == null){ $c =

PHP实现的简单分页类及用法示例_php技巧

本文实例讲述了PHP实现的简单分页类及用法.分享给大家供大家参考,具体如下: <?php /* * 使用: * $page = new Page(连接符,查询语句,当前页码,每页大小,页码符) * 连接符:一个MYSQL连接标识符,如果该参数留空,则使用最近一个连接 * 查询语句:SQL语句 * 当前页码:指定当前是第几页 * 每页大小:每页显示的记录数 * 页码符:指定当前页面URL格式 * * 使用例子: * $sql = "select * from aa"; * $pag

PHP引用返回用法示例_php技巧

本文实例讲述了PHP引用返回的用法.分享给大家供大家参考,具体如下: 示例1: <?php $a = 1; function b(&$c) { $c++; return $c; } $d=b($a); $d++; echo($a); ?> 输出:2 示例2: <?php $a = 1; function &b(&$c) { $c++; return $c; } $d=&b($a); $d++; echo($a); ?> 输出:3 更多关于PHP相关内

php版微信js-sdk支付接口类用法示例_php技巧

本文实例讲述了php版微信js-sdk支付接口类用法.分享给大家供大家参考,具体如下: 这个支付类是根据官方的文档修改而来!主要实现生成JS API .Native的package签名包和Native响应的XML格式数据.注释都标上了各方法的用意.由于package包签名,略复杂,这个要自己多花时间去对应去看和log出文件来一一对比!当然只要你用上教程的类,设置好对应的参数就可以正确的生成package参数等 <?php if (isset($argc) && $argc >=

PHP判断文件是否被引入的方法get_included_files用法示例_php技巧

本文实例讲述了PHP判断文件是否被引入的方法get_included_files用法.分享给大家供大家参考,具体如下: <?php // 本文件是 abc.php include 'test1.php'; include_once 'test2.php'; require 'test3.php'; require_once 'test4.php'; $included_files = get_included_files(); foreach ($included_files as $filen