1
0
mirror of https://github.com/php/doc-zh.git synced 2026-03-24 23:22:14 +01:00
Files
魔王卷子 e074ab5ee7 Update reflection 3 (#650)
* Update getclass.xml

* Update isdefaultvalueavailable.xml

* Delete tostring.xml

* Update getname.xml

* Update isbuiltin.xml

* Update construct.xml

* Update export.xml

* Update getclosure.xml

* Update getdeclaringclass.xml

* Update getmodifiers.xml

* Update getprototype.xml

* Update invoke.xml

* Update invokeargs.xml

* Update isabstract.xml

* Update isconstructor.xml

* Update isdestructor.xml

* Update isfinal.xml

* Update isprivate.xml

* Update isprotected.xml

* Update ispublic.xml

* Update isstatic.xml

* Update setaccessible.xml

* Update tostring.xml

* Update reflector.xml

* Update reflectionzendextension.xml

* Update reflectionuniontype.xml

* Update reflectiontype.xml

* Update reflectionreference.xml

* Update reflectionproperty.xml

* Update reflectionparameter.xml

* Update reflectionobject.xml

* Update reflectionnamedtype.xml

* Update reflectionmethod.xml

* Update reflectionfunction.xml

* Update reflectiongenerator.xml

* Update reflectionexception.xml

* Update export.xml
2023-02-16 22:59:01 +08:00

139 lines
3.6 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: ec2fe9a592f794978114ef5021db9f1d00c2e05d Maintainer: 谢毅斌 Status: ready -->
<!-- CREDITS: mowangjuanzi -->
<refentry xml:id="reflectionmethod.invoke" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>ReflectionMethod::invoke</refname>
<refpurpose>Invoke</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="ReflectionMethod">
<modifier>public</modifier> <type>mixed</type><methodname>ReflectionMethod::invoke</methodname>
<methodparam><type class="union"><type>object</type><type>null</type></type><parameter>object</parameter></methodparam>
<methodparam rep="repeat"><type>mixed</type><parameter>args</parameter></methodparam>
</methodsynopsis>
<para>
执行反射的方法。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>object</parameter></term>
<listitem>
<para>
如果执行的方法是静态类,那么这个参数传送 <type>null</type>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>args</parameter></term>
<listitem>
<para>
0或者传送给方法的参数列表。可以通过这个参数给方法传送大量的参数。
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
返回方法的返回值
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
如果 <parameter>object</parameter> 并没有包含一个可以使用的类实例,那么将产生
一个 <classname>ReflectionException</classname>
</para>
<para>
如果方法调用失败,也会产生一个 <classname>ReflectionException</classname>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><methodname>ReflectionMethod::invoke</methodname> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
class HelloWorld {
public function sayHelloTo($name) {
return 'Hello ' . $name;
}
}
$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
echo $reflectionMethod->invoke(new HelloWorld(), 'Mike');
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Hello Mike
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
当需要引用参数时,不能使用 <methodname>ReflectionMethod::invoke</methodname>。必须使用
<methodname>ReflectionMethod::invokeArgs</methodname> 代替(在参数列表传递引用)。
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><methodname>ReflectionMethod::invokeArgs</methodname></member>
<member><link linkend="object.invoke">__invoke()</link></member>
<member><function>call_user_func</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->