佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > php的instanceof和判斷閉包Closure操作示例

php的instanceof和判斷閉包Closure操作示例

熱門標(biāo)簽:銀行業(yè)務(wù) Mysql連接數(shù)設(shè)置 阿里云 Linux服務(wù)器 科大訊飛語音識別系統(tǒng) 團(tuán)購網(wǎng)站 電子圍欄 服務(wù)器配置

本文實例講述了php的instanceof和判斷閉包Closure。分享給大家供大家參考,具體如下:

類型運算符

instanceof 用于確定一個 PHP 變量是否屬于某一類 class 的實例,在此之前用 is_a(),但是后來 is_a() 被廢棄

?php
class MyClass
{
}
class NotMyClass
{
}
$a = new MyClass;
var_dump($a instanceof MyClass);
var_dump($a instanceof NotMyClass);
?>

以上例程會輸出:

bool(true)
bool(false)

instanceof 也可用來確定一個變量是不是繼承自某一父類的子類的實例:

Example #2 對繼承類使用 instanceof

?php
class ParentClass
{
}
class MyClass extends ParentClass
{
}
$a = new MyClass;
var_dump($a instanceof MyClass);
var_dump($a instanceof ParentClass);
?>

以上例程會輸出:

bool(true)
bool(true)

Closure 類

用于代表 匿名函數(shù) 的類.

匿名函數(shù)(在 PHP 5.3 中被引入)會產(chǎn)生這個類型的對象。在過去,這個類被認(rèn)為是一個實現(xiàn)細(xì)節(jié),但現(xiàn)在可以依賴它做一些事情。自 PHP 5.4 起,這個類帶有一些方法,允許在匿名函數(shù)創(chuàng)建后對其進(jìn)行更多的控制。

除了此處列出的方法,還有一個 __invoke 方法。這是為了與其他實現(xiàn)了 __invoke()魔術(shù)方法 的對象保持一致性,但調(diào)用匿名函數(shù)的過程與它無關(guān)。

類摘要

Closure {
/* 方法 */
__construct ( void )
public static Closure bind ( Closure $closure , object $newthis [, mixed $newscope = 'static' ] )
public Closure bindTo ( object $newthis [, mixed $newscope = 'static' ] )
}

Table of Contents

  • Closure::__construct — 用于禁止實例化的構(gòu)造函數(shù)
  • Closure::bind — 復(fù)制一個閉包,綁定指定的$this對象和類作用域。
  • Closure::bindTo — 復(fù)制當(dāng)前閉包對象,綁定指定的$this對象和類作用域。

判斷是不是閉包

if ( $this->{$method} instanceof Closure ) {
     return call_user_func_array($this->{$method},$args);
} else {
     throw new Exception("Invalid Function");
}
//一切都要自行測試
if ( $class instanceof Closure ) {
} else {
}

參考:

http://php.net/manual/zh/language.operators.type.php

http://php.net/manual/zh/class.closure.php

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家PHP程序設(shè)計有所幫助。

您可能感興趣的文章:
  • 詳解PHP中instanceof關(guān)鍵字及instanceof關(guān)鍵字有什么作用
  • php中instanceof 與 is_a()區(qū)別分析
  • PHP 面向?qū)ο蟪绦蛟O(shè)計(oop)學(xué)習(xí)筆記(一) - 抽象類、對象接口、instanceof 和契約式編程
  • php的閉包(Closure)匿名函數(shù)初探
  • php的閉包(Closure)匿名函數(shù)詳解
  • PHP閉包(Closure)使用詳解
  • 淺析PHP中的閉包和匿名函數(shù)
  • PHP中的閉包(匿名函數(shù))淺析
  • PHP閉包實例解析
  • PHP 閉包詳解及實例代碼

標(biāo)簽:萍鄉(xiāng) 廣元 衢州 大理 棗莊 衡水 江蘇 蚌埠

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php的instanceof和判斷閉包Closure操作示例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    上栗县| 惠州市| 长治市| 县级市| 喀什市| 普宁市| 安化县| 调兵山市| 无极县| 仁化县| 绥中县| 临洮县| 城口县| 赤峰市| 吉首市| 鄂托克前旗| 吉隆县| 兴和县| 沙洋县| 惠安县| 社旗县| 汉阴县| 兰州市| 镇巴县| 静乐县| 正镶白旗| 西丰县| 岳普湖县| 时尚| 陆良县| 耒阳市| 新乡市| 中牟县| 曲阳县| 阳新县| 上杭县| 迁安市| 舒城县| 甘德县| 吕梁市| 松溪县|