cvs: phpdoc-he /language functions.xml
[email protected] ("Moshe Doron") Mon, 28 Jul 2003 08:53:30 -0000
| Newsgroups | php.doc.he |
|---|---|
| Message-ID | <cvsmomo1059382410@cvsserver> |
momo Mon Jul 28 04:53:30 2003 EDT
Added files:
/phpdoc-he/language functions.xml
Log:
initial functions lang guide
momo-20030728045330.txt
(text/plain, 16.9 KB)
Index: phpdoc-he/language/functions.xml
+++ phpdoc-he/language/functions.xml
<?xml version="1.0" encoding="WINDOWS-1255"?>
<!-- $Revision: 1.1 $ -->
<!-- orginal-Revision: 1.40 -->
<chapter id="functions">
<title>ôåð÷öéåú</title>
<sect1 id="functions.user-defined">
<title>ôåð÷öéåú äîùúîù</title>
<para>
ôåð÷öéä éëåìä ìäéåú îåâãøú òì éãé ùéîåù áúçáéø ëâåï:
</para>
<para>
<example>
<title>÷åã îãåîä ùîãâéí àú äùéîåù áôåð÷öéåú:</title>
<programlisting role="php">
<![CDATA[
<?php
function foo ($arg_1, $arg_2, ..., $arg_n)
{
echo "Example function.\n";
return $retval;
}
?>
]]>
</programlisting>
</example>
</para>
<!--
status of func(const $param) ?
zend doesn't care at all whether or not you specify it.
I've never seen it before... what's its use? (or was...)
-->
<simpara>
ëì ÷åã PHP çå÷é éëåì ìäåôéò áúåê ôåð÷öéåú, àôéìå äâãøú ôåð÷öéä àå <link linkend="keyword.class">îçì÷ä</link>
</simpara>
<simpara>
áPHP3 ôåð÷öéåú çééáåú ìäéåú îåâãøåú ìôðé ùîùúîùéí áäí. áPHP4 äîâáìä äæå áåèìä. <emphasis>ìîòè</emphasis> ëàùø ôåð÷öéä îåâãøú áäúçùá áúðàé îñåééí, ëâåï ùðé äãåâîàåú äîåáàåú ìîèä.
</simpara>
<para>
ëàùø äâãøú ôåð÷öéä îåúðé, ääâãøä çééáú ìäåôéò <emphasis>ìôðé</emphasis>
äùéîåù áä.
</para>
<para>
<example>
<title> ôåð÷öéåú îåúðåú</title>
<programlisting role="php">
<![CDATA[
<?php
$makefoo = true;
/* We can't call foo() from here
since it doesn't exist yet,
but we can call bar() */
bar();
if ($makefoo) {
function foo ()
{
echo "I don't exist until program execution reaches me.\n";
}
}
/* Now we can safely call foo()
since $makefoo evaluated to true */
if ($makefoo) foo();
function bar()
{
echo "I exist immediately upon program start.\n";
}
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>ôåð÷öéåú áúåê ôåð÷öéåú</title>
<programlisting role="php">
<![CDATA[
<?php
function foo()
{
function bar()
{
echo "I don't exist until foo() is called.\n";
}
}
/* We can't call bar() yet
since it doesn't exist. */
foo();
/* Now we can call bar(),
foo()'s processesing has
made it accessable. */
bar();
?>
]]>
</programlisting>
</example>
</para>
<simpara>
PHP àéððå îàôùø äòîñä, ëìåîø äâãøä ùì ôåð÷öéä ùðéú òì îðú ìøîåñ àú ääâãøä ä÷åãîú, ëîå ëï àéï ëì ãøê ìáèì äâãøú ôåð÷öéä àå ìäçìéó ëæå.
</simpara>
<note>
<simpara>
ùîåú ôåð÷öéåú àéðí øâéùéí ìàåúéåú àðâìéåú âãåìåú àå ÷èðåú, ìîøåú æàú úîéã èåá ìëúåá àú ùîåú äôåð÷öéåú ëôé ùäí îúåòãåú.
</simpara>
</note>
<simpara>
PHP3 ìà úåîê á÷áìú îñôø ãéðàîé ùì ôøîèøéí áúåê ôåð÷öéä, àåìí äåà úåîê áòøê áøéøú îçãì ìôøîèø (øàä <link
linkend="functions.arguments.default">òøëé áøéøú îçãì</link> ìôøèéí ðåñôéí). PHP4 úåîê áùðéäí. øàä: <link
linkend="functions.variable-arg-list">àåøê îùúðä ìøùéîú àøâåîðèéí</link> åäâãøåú äôåð÷öéä ùì
<function>func_num_args</function>,
<function>func_get_arg</function> å
<function>func_get_args</function> ìôøèéí ðåñôéí.
</simpara>
</sect1>
<sect1 id="functions.arguments">
<title>äôøîèøéí äîåòáøéí ìôåð÷öéä (àøâåîðèéí)</title>
<simpara>
äàéðôåøîöéä éëåìä ìäéåú îåòáøú ìôåð÷öéä áøùéîú äàøâåîðèéí,
øùéîä äîåôøãú òì éãé ôñé÷éí ùì îùúðéí å÷áåòéí.
</simpara>
<para>
PHP úåîê áäòáøú äòøê ùì äîùúðéí (áøéøú îçãì), <link
linkend="functions.arguments.by-reference">äòáøä òì ôé îøàä î÷åí</link>, å <link
linkend="functions.arguments.default">òøê áøéøú îçãì ìàøâåîðè</link>. øùéîåú àøâåîðèéí îùúðåú ðúîëåú äçì îPHP4 åàéìê; øàä <link
linkend="functions.variable-arg-list">àåøê øùéîú àøâåîðèéí ùàéððå ÷áåò</link> åáúéòåã äôåð÷öéåú
<function>func_num_args</function>,
<function>func_get_arg</function>, å
<function>func_get_args</function> ìôøèéí ðåñôéí. àôùø ìäâéò ìàô÷è ãåîä òì éãé äòáøú îòøê äîëéì îñôø ôøîèøéí ìôåð÷öéä:
</para>
<para>
<example>
<title>äòáøú îòøê ìôåð÷öéä</title>
<programlisting role="php">
<![CDATA[
<?php
function takes_array($input)
{
echo "$input[0] + $input[1] = ", $input[0]+$input[1];
}
?>
]]>
</programlisting>
</example>
</para>
<sect2 id="functions.arguments.by-reference">
<title>äòáøú àøâåîðèéí òì éãé îøàä î÷åí (øéôøðññ)</title>
<simpara>
áøéøú äîçãì äéà ùäàøâåîðèéí îåòáøéí ìôåð÷öéåú ë"òøê" (ëìåîø àí àúä îùðä àú äòøê áúåê äôåð÷öéä àéï äãáø îùôéò òì òøê äîùúðä ùðùìç ìôåð÷öéä). àí àúä øåöä ìàôùø ìôåð÷öéä ìùðåú àú äòøëéí, àúä çééá ìäòáéø àåúí ëîøàä î÷åí (ìäìï øéôøðñ).
</simpara>
<para>
àí áøöåðê ìäòáéø àøâåîðè ìôåð÷öéä ëøéôøðñ òìéê ìä÷ãéí ìå àôøñðè (&) áäâãøú äôåð÷öéä:
</para>
<para>
<example>
<title>äòáøú ôøîèøéí ìôåð÷öéåú ëøéôøðñ</title>
<programlisting role="php">
<![CDATA[
<?php
function add_some_extra(&$string)
{
$string .= 'and something extra.';
}
$str = 'This is a string, ';
add_some_extra($str);
echo $str; // outputs 'This is a string, and something extra.'
?>
]]>
</programlisting>
</example>
</para>
</sect2>
<sect2 id="functions.arguments.default">
<title>òøëé áøéøú îçãì ìàøâåîðèéí</title>
<para>
òøëé áøéøú îçãì éëåìéí ìäéåú îåâãøéí ëîå áC++:
</para>
<para>
<example>
<title>ùéîåù áòøëé áøéøú îçãì áôåð÷öéä:</title>
<programlisting role="php">
<![CDATA[
<?php
function makecoffee ($type = "cappuccino")
{
return "Making a cup of $type.\n";
}
echo makecoffee ();
echo makecoffee ("espresso");
?>
]]>
</programlisting>
</example>
</para>
<para>
äôìè ùì äãåâîà ðøàä ëê:
</para>
<para>
<screen>
Making a cup of cappuccino.
Making a cup of espresso.
</screen>
</para>
<simpara>
òøê áøéøú äîçãì çééá ìäéåú òøê ÷áåò, ìà (ìãåâîà) îùúðä, àéáø îçì÷ä àå ÷øéàä ìôåð÷öéä.
</simpara>
<para>
ùéí ìá ìëê ùëàùø îùúîùéí áòøê áøéøú îçãì, ëì äáøéøåú îçãì öøéëéí ìäéåú áçì÷ äéîðé ùì øùéîú äôøîèøéí; àçøú äãáøéí ìà éòáãå ëîúåëðï. ùéí ìá ì÷èò ä÷åã äáà:
</para>
<para>
<example>
<title>ùéîåù ìà ðëåï áòøëé áøéøú îçãì</title>
<programlisting role="php">
<![CDATA[
<?php
function makeyogurt ($type = "acidophilus", $flavour)
{
return "Making a bowl of $type $flavour.\n";
}
echo makeyogurt ("raspberry"); // won't work as expected
?>
]]>
</programlisting>
</example>
</para>
<para>
äôìè ùì äãåâîà äåà ëê:
</para>
<para>
<screen>
Warning: Missing argument 2 in call to makeyogurt() in
/usr/local/etc/httpd/htdocs/php3test/functest.html on line 41
Making a bowl of raspberry .
</screen>
</para>
<para>
òëùéå, äùååä àú äãåâîà ùìîòìä òí äãåâîà äáàä:
</para>
<para>
<example>
<title>ùéîåù ðëåï áòøëé áøéøú îçãì</title>
<programlisting role="php">
<![CDATA[
<?php
function makeyogurt ($flavour, $type = "acidophilus")
{
return "Making a bowl of $type $flavour.\n";
}
echo makeyogurt ("raspberry"); // works as expected
?>
]]>
</programlisting>
</example>
</para>
<para>
ôìè äãåâîà äåà:
</para>
<para>
<screen>
Making a bowl of acidophilus raspberry.
</screen>
</para>
</sect2>
<sect2 id="functions.variable-arg-list">
<title>øùéîú àøâåîðèéí áàåøê îùúðä</title>
<simpara>
PHP4 úåîëú áäòáøú øùéîú ôøîèøéí áàåøê îùúðä ìôåð÷öéåú äîåâãøåú ò"é äîùúîù. äð"ì ðòùä áôùèåú ò"é ùéîåù áôåð÷öéåú äáàåú:
<function>func_num_args</function>,
<function>func_get_arg</function>, å
<function>func_get_args</function>.
</simpara>
<simpara>
àéï öåøê áäâãøåú îéåçãåú, àôéìå àí äâãøú äôåð÷öéä úëéì øùéîú àøâåîðèéí ñèðãøèéú äôåð÷öéåú äð"ì òãééï éòáãå.
</simpara>
</sect2>
</sect1>
<sect1 id="functions.returning-values">
<title>äçæøú òøëéí</title>
<para>
òøëéí îåçæøéí òì éãé ùéîåù áô÷åãä return. ëì ñåâ îùúðä ëâåï
îçì÷åú åîòøëéí éëåì ìäéåú îåçæø. äô÷åãä âåøîú ìéöéàä îäôåð÷öéä åìäçæøú äùìéèä ì÷åã îîðå ð÷øàä äôåð÷öéä. øàä <function>return</function>
ìôøèéí ðåñôéí.
</para>
<para>
<example>
<title>ùéîåù á <function>return</function></title>
<programlisting role="php">
<![CDATA[
<?php
function square ($num)
{
return $num * $num;
}
echo square (4); // outputs '16'.
?>
]]>
</programlisting>
</example>
</para>
<para>
ìîøåú ùàéðê éëåì ìäçæéø îñôø îùúðéí, àúä éëåì ìäâéò ìàô÷è äðãøù òì éãé äçæøú øùéîä.
</para>
<para>
<example>
<title>äçæøú îòøê åáå îñôø òøëéí</title>
<programlisting role="php">
<![CDATA[
<?php
function small_numbers()
{
return array (0, 1, 2);
}
list ($zero, $one, $two) = small_numbers();
?>
]]>
</programlisting>
</example>
</para>
<para>
ìäçæéø øéôøðñ îôåð÷öéä òìéê ìäùúîù áñéîåï äøéôøðñ & áùðé î÷åîåú, áäâãøú äôåð÷öéä åáäùîú äòøê ìúåê îùúðä á÷øéàä ìôåð÷öéä:
</para>
<para>
<example>
<title>äçæøú øéôøðñ îôåð÷öéä</title>
<programlisting role="php">
<![CDATA[
<?php
function &returns_reference()
{
return $someref;
}
$newref =& returns_reference();
?>
]]>
</programlisting>
</example>
</para>
<simpara>
ìôøèéí ðåñôéí ìâáé øéôøðññ, øàä <link
linkend="language.references">äñáøú øéôøðññ</link>.
</simpara>
</sect1>
<sect1 id="functions.variable-functions">
<title>îùúðé ôåð÷öéåú</title>
<para>
PHP úåîëú áîåùâ ùì îùúðé ôåð÷öéåú. äëååðä äéà ùàí ìîùúðä
éåñôå ñåâøééí, PHP úðñä ìçôù ôåð÷öéä áùí àåúå îëéì äîùúðä
åìäøéõ àåúä. áúåê ëì äãáøéí äîâðéáéí ùðéúï ìòùåú òí äãáø äæä, ðéúï ìééùí
èáìú ôåð÷öéåú, callbacks åëï äìàä.
</para>
<para>
îùúðé ôåð÷öéåú ìà òåáãéí òí øëéáé äùôä ëâåï <function>echo</function>, <function>print</function>,
<function>unset</function>, <function>isset</function>,
<function>empty</function>, <function>include</function>,
<function>require</function> åëãå'. àí àúä øåöä ìäùúîù áäí ëîùúðé ôåð÷öéåú, àúä öøéê ì"òèåó" àåúí áôåð÷öéåú îùìê.
</para>
<para>
<example>
<title>ãåâîà ìîùúðé ôåð÷öéåú</title>
<programlisting role="php">
<![CDATA[
<?php
function foo()
{
echo "In foo()<br>\n";
}
function bar($arg = '')
{
echo "In bar(); argument was '$arg'.<br>\n";
}
// This is a wrapper function around echo
function echoit($string)
{
echo $string;
}
$func = 'foo';
$func(); // This calls foo()
$func = 'bar';
$func('test'); // This calls bar()
$func = 'echoit';
$func('test'); // This calls echoit()
?>
]]>
</programlisting>
</example>
</para>
<para>
ðéúï âí ì÷øåà ìùéèä ùì àåáéé÷è òì éãé ùéîåù áîùúðé ôåð÷öéåú.
<example>
<title>ãåîîà ìîùúðä ùéèä</title>
<programlisting role="php">
<![CDATA[
<?php
class Foo
{
function Var()
{
$name = 'Bar';
$this->$name(); // This calls the Bar() method
}
function Bar()
{
echo "This is Bar";
}
}
$foo = new Foo();
$funcname = "Var";
$foo->$funcname(); // This calls $foo->Var()
?>
]]>
</programlisting>
</example>
</para>
<para>
øàä âí <function>call_user_func</function>,
<link linkend="language.variables.variable">
îùúðé îùúðéí</link> å <function>function_exists</function>.
</para>
</sect1>
<sect1 id="functions.internal">
<title>ôåð÷öéåú ôðéîéåú</title>
<para>
PHP áà òí äøáä ôåð÷öéåú å÷áåòéí. éùðí âí ôåð÷öéåú
ùìäøöúí ðãøùú äøçáä ñôöéôéí î÷åîôìú áúåê PHP. àçøú ú÷áì
àú äùâéàä äôèàìéú "undefined function".
ìãåâîà, ìöåøê ùéîåù áôåð÷öéåú
<link linkend="ref.image">image</link> ëâåï
<function>imagecreatetruecolor</function>, àúä öøéê ùäPHP é÷åîôì òí úîéëä áGD.
àå, òì îðú ìäùúîù á <function>mysql_connect</function> àúä öøéê ùäPHP
é÷åîôì òí úîéëä á<link linkend="ref.mysql">MySQL</link>.
éùðí ôåð÷öéåú âøòéðéåú øáåú ùî÷åîôìåú òí ëì âéøñä ùì PHP ëâåï ôåð÷öéåú <link linkend="ref.strings">string</link> å
<link linkend="ref.variables">variable</link>.
÷øéàä ì <function>phpinfo</function> àå
<function>get_loaded_extensions</function> éøàå ìê àéæå äøçáä äåèòðä ìúåê äPHP.
ùéí ìá ùäøáä äøçáåú î÷åîôìåú ìúåê äPHP ëáøéøú îçãì åùäôåð÷öéåú áîãøéê îçåì÷åú òì ôé ääøçáä.
øàä <link linkend="configuration">÷åðôéâåøöéä</link>,
<link linkend="installation">äú÷ðä</link>, åàú äôø÷ áîãøéê òáåø ëì äøçáä, òì îðú ìîöåà ëéöã áãéå÷ ìäôòéì àú ääøçáä.
</para>
<para>
÷øéàä åäáðä ùì îáðä äôåð÷öéåú (äîëåðä ôøåèåèééô) äîåáà áîãøéê îåáà áôø÷
<link linkend="about.prototypes">ëéöã ì÷øåà àú äâãøú äôåð÷öéåú</link>.
æä çùåá ìäáéï îä äôåð÷öéä îçæéøä åäàí äéà òåáãú éùéøåú òì äîùúðä ùäåòáø àìéä. ìãåâîà,
<function>str_replace</function> úçæéø àú äîçøåæú ùäùúðúä áòåã ù
<function>usort</function> òåáãú òì äîùúðä ùäåòáø áòöîå.
ìëì ãó áîãøéê éù âí ðúåðéí ùåðéí ìâáé ëì ôåð÷öéä ëâåï àéðôåøîöéä ìâáé äôøîèøéí,
ùéðåééí áäúðäâåú, òøëéí äîåçæøéí ëàùø äôåðöéä îöìéçä àå ðëùìú åàéðôåøîöéä ìâáé æîéðåú.
éãéòú äçéìå÷éí äã÷éí äììå äéà çéåðéú ìëúéáú ÷åã PHP îùåáç.
</para>
<para>
øàä <function>function_exists</function>,
<link linkend="funcref">îôúç äôåð÷öéåú</link>,
<function>get_extension_funcs</function>, å
<function>dl</function>.
</para>
</sect1>
</chapter>
<!-- 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:"../../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
-->