PHP instanceof and judgment closure closure

Source: Internet
Author: User

Type operator

instanceof is used to determine whether a PHP variable belongs to an instance of a class class, preceded by Is_a (), but later is_a () is discarded

<? PHP class myclass{} class notmyclass{} $a New MyClass; Var_dump ($a  instanceof MyClass); Var_dump ($a  instanceof notmyclass);? >

The above routines will output:

BOOL (true) bool (false)

instanceof can also be used to determine whether a variable is inherited from an instance of a subclass of a parent class:

Example #2 use instanceof for inheriting classes

<? PHP class parentclass{} class extends parentclass{} $a New MyClass; Var_dump ($a  instanceof MyClass); Var_dump ($a  instanceof parentclass);? >

The above routines will output:

BOOL (true) bool (true)

Closure class

The class used to represent anonymous functions.

Anonymous functions (introduced in PHP 5.3) produce objects of this type. In the past, this class was considered an implementation detail, but can now rely on it to do something. Since PHP 5.4, this class has some methods that allow more control over anonymous functions after they are created.

In addition to the methods listed here, there is a __invoke method. This is to maintain consistency with other objects that implement the __invoke () Magic method, but the process of calling an anonymous function is irrelevant to it.

Class Summary
Closure {/**/__construct (void)publicstatic$ ClosureObject$newthismixed$newscope = ' static ' )  public Object$newthismixed$newscope = ' static ' ])}
Table of Contents
    • closure::__construct-Constructors for prohibiting instantiation
    • closure::bind-copy a closure that binds the specified $this object and class scope.
    • closure::bindto-Copy the current closure object, binding the specified $this object and the class scope.

Judging if it's a closed bag

if($this->{$method} instanceof Closure) {return Call_user_func_array($this->{$method},$args);} Else {         Throw New Exception("Invalid Function");}//everything has to be tested on its own .if($classinstanceof Closure) {         } Else {         }

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

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

PHP instanceof and judgment closure closure

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.