Added call_user_method() description and example of use

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@27974 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Jesus M. Castagnetto 2000-07-10 04:28:34 +00:00
parent 50968b90a4
commit e08f59fea4

View file

@ -44,6 +44,75 @@ call_user_func ('barber', "shave");
</refsect1>
</refentry>
<refentry id="function.call-user-method">
<refnamediv>
<refname>call_user_method</refname>
<refpurpose>
Call a user method on an specific object
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>mixed
<function>call_user_method</function>
</funcdef>
<paramdef>string
<parameter>method_name</parameter>
</paramdef>
<paramdef>object
<parameter>obj</parameter>
</paramdef>
<paramdef>mixed
<parameter><optional>parameter</optional></parameter>
</paramdef>
<paramdef>mixed
<parameter><optional>...</optional></parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<para>
Calls a the method referred by <parameter>method_name</parameter> from
the user defined <parameter>obj</parameter> object. An example of usage
is below, where we define a class, instantiate an object and use
<function>call_user_method</function> to call indirectly its
<varname>print_info</varname> method.
<informalexample>
<programlisting role="php">
&lt;?php
class Country {
var $NAME;
var $TLD;
function Country($name, $tld) {
$this-&gt;NAME = $name;
$this-&gt;TLD = $tld;
}
function print_info($prestr=&quot;&quot;) {
echo $prestr.&quot;Country: &quot;.$this-&gt;NAME.&quot;\n&quot;;
echo $prestr.&quot;Top Level Domain: &quot;.$this-&gt;TLD.&quot;\n&quot;;
}
}
$cntry = new Country(&quot;Peru&quot;,&quot;pe&quot;);
echo &quot;* Calling the object method directly\n&quot;;
$cntry-&gt;print_info();
echo &quot;\n* Calling the same method indirectly\n&quot;;
call_user_method (&quot;print_info&quot;, $cntry, &quot;\t&quot;);
?&gt;
</programlisting>
</informalexample>
</para>
</refsect1>
</refentry>
<refentry id="function.doubleval">
<refnamediv>
<refname>doubleval</refname>