mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-16 00:48:54 +00:00
Links to magic methods
Document __invoke() git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@273160 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
parent
b057f25813
commit
ed5d5ba906
1 changed files with 50 additions and 14 deletions
|
@ -1,24 +1,23 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision: 1.20 $ -->
|
||||
<!-- $Revision: 1.21 $ -->
|
||||
<sect1 xml:id="language.oop5.magic" xmlns="http://docbook.org/ns/docbook">
|
||||
<title>Magic Methods</title>
|
||||
<para>
|
||||
The function names
|
||||
<literal>__construct</literal>,
|
||||
<literal>__destruct</literal>
|
||||
(see <link linkend="language.oop5.decon">Constructors and Destructors</link>),
|
||||
<literal>__call</literal>,
|
||||
<literal>__callStatic</literal>,
|
||||
<literal>__get</literal>,
|
||||
<link linkend="language.oop5.decon"><literal>__construct</literal>,
|
||||
<literal>__destruct</literal></link>,
|
||||
<link linkend="language.oop5.overloading.methods"><literal>__call</literal>,
|
||||
<literal>__callStatic</literal></link>,
|
||||
<link linkend="language.oop5.overloading.members"><literal>__get</literal>,
|
||||
<literal>__set</literal>,
|
||||
<literal>__isset</literal>,
|
||||
<literal>__unset</literal>
|
||||
(see <link linkend="language.oop5.overloading">Overloading</link>),
|
||||
<literal>__sleep</literal>,
|
||||
<literal>__wakeup</literal>,
|
||||
<literal>__toString</literal>,
|
||||
<literal>__set_state</literal> and
|
||||
<link linkend="language.oop5.cloning">__clone</link>
|
||||
<literal>__unset</literal></link>,
|
||||
<link linkend="language.oop5.magic.sleep"><literal>__sleep</literal>,
|
||||
<literal>__wakeup</literal></link>,
|
||||
<link linkend="language.oop5.magic.tostring"><literal>__toString</literal></link>,
|
||||
<link linkend="language.oop5.magic.invoke"><literal>__invoke</literal></link>,
|
||||
<link linkend="language.oop5.magic.set-state"><literal>__set_state</literal></link> and
|
||||
<link linkend="language.oop5.cloning"><literal>__clone</literal></link>
|
||||
are magical in PHP classes. You
|
||||
cannot have functions with these names in any of your
|
||||
classes unless you want the magic functionality associated
|
||||
|
@ -151,6 +150,43 @@ Hello
|
|||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="language.oop5.magic.invoke">
|
||||
<title><literal>__invoke</literal></title>
|
||||
<para>
|
||||
The <literal>__invoke</literal> method is called when a script tries to
|
||||
call an object as a function.
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
This feature is available since PHP 5.3.0.
|
||||
</para>
|
||||
</note>
|
||||
<example>
|
||||
<title>Using <literal>__invoke</literal></title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
class CallableClass {
|
||||
function __invoke($x) {
|
||||
var_dump($x);
|
||||
}
|
||||
}
|
||||
$obj = new CallableClass;
|
||||
$obj(5);
|
||||
var_dump(is_callable($obj));
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
&example.outputs;
|
||||
<screen>
|
||||
<![CDATA[
|
||||
int(5)
|
||||
bool(true)
|
||||
]]>
|
||||
</screen>
|
||||
</example>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="language.oop5.magic.set-state">
|
||||
<title><literal>__set_state</literal></title>
|
||||
<para>
|
||||
|
|
Loading…
Reference in a new issue