hholzgra                Sat Oct 26 02:58:17 2002 EDT

  Modified files:              
    /phpdoc/en/language types.xml 
    /phpdoc/en/reference/array/functions        usort.xml 
  Log:
  - documentation on pseudo-types 
  - "callback" pseudo-type added
  - changed usort proto to use callback (more will follow)
  
  
Index: phpdoc/en/language/types.xml
diff -u phpdoc/en/language/types.xml:1.88 phpdoc/en/language/types.xml:1.89
--- phpdoc/en/language/types.xml:1.88   Wed Sep 18 09:38:04 2002
+++ phpdoc/en/language/types.xml        Sat Oct 26 02:58:16 2002
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.88 $ -->
+<!-- $Revision: 1.89 $ -->
  <chapter id="language.types">
   <title>Types</title>
 
@@ -77,27 +77,35 @@
     </listitem>
 
    </itemizedlist>
+
+   This manual also introduces some 
+   <link linkend="language.pseudo-types">pseudo-types</link> 
+   for readability reasons:
+
+   <itemizedlist>
+ 
+    <listitem>
+     <simpara>
+      <link linkend="language.types.mixed">mixed</link>
+     </simpara>
+    </listitem>
+ 
+    <listitem>
+     <simpara>
+      <link linkend="language.types.number">number</link>
+     </simpara>
+    </listitem>
+ 
+    <listitem>
+     <simpara>
+      <link linkend="language.types.mixed">callback</link>
+     </simpara>
+    </listitem>
+
+   </itemizedlist>
+
   </para>
   
-  <note>
-   <simpara>
-    In this manual you'll often find <literal>mixed</literal> parameters. 
-    This pseudo-type
-    indicates multiple possibilities for that parameter.
-   </simpara>
-   <!--
-   
-   Just an idea, maybe useful for some func-defs?
-   (at least it is for the operator-defs)
-   
-   <simpara>
-    In parameter definitions you can also encounter the 'number' pseudo-type,
-    that indicates a parameter that is either <type>integer</type> or 
-    <type>float</type>.
-   </simpara>
-   -->
-  </note>
-
 
   <simpara>
    The type of a variable is usually not set by the programmer;
@@ -1827,7 +1835,89 @@
      See also <function>is_null</function> and <function>unset</function>.
     </para>
    </sect2>
+  </sect1>
+ 
+  <sect1 id="language.pseudo-types">
+   <title>Pseudo-types used in this documentation</title> 
+
+   <sect2 id="language.types.mixed">
+    <title>mixed</title>
+    <para>
+     <literal>mixed</literal> indicates that a parameter may accept multiple (but not
+     necesseraly all) types.
+    </para>
+    <para>
+     <function>gettype</function> for example will accept all PHP types,
+     while <function>str_replace</function> will accept strings and arrays.
+    </para>
+   </sect2>
   
+   <sect2 id="language.types.number">
+    <title>number</title>
+    <para>
+     <literal>number</literal> indicates that a parameter can be either
+     <type>integer</type> or <type>float</type>.
+    </para>
+   </sect2>
+
+   <sect2 id="language.types.callback">
+    <title>callback</title>
+    <para>
+     Some functions like <function>call_user_function</function> 
+     or <function>usort</function> accept user defined 
+     callback functions as a parameter. Callback functions can not only
+     be simple functions but also object methods including static class
+     methods. 
+    </para>
+    <para>
+     A PHP function is simply passed by its name as a string.
+    </para>
+    <para>
+     A method of an instantiated object is passed as an array containing
+     an object as the element with index 0 and a method name as the 
+     element with index 1.
+    </para>
+    <para>
+     Static class methods can also be passed without instantiating an
+     object of that class by passing the class name instead of an 
+     object as the element with index 0.
+    </para>
+
+    <para>
+     <example>
+      <title>
+       Callback function examples
+      </title>
+      <programlisting role="php">
+<![CDATA[
+<?php 
+
+// simple callback example
+function foobar() {
+    echo "hello world!";
+}
+call_user_function("foobar"); 
+
+// method callback examples
+class foo {
+  function bar() {
+    echo "hello world!";
+  }
+}
+
+$foo = new foo;
+
+call_user_function(array($foo, "bar")); // object method call
+
+call_user_function(array("foo", "bar")); // static class method call
+
+?>
+]]>
+      </programlisting>
+     </example>
+    </para>  
+   
+   </sect2>
   </sect1>
 
   <sect1 id="language.types.type-juggling">
Index: phpdoc/en/reference/array/functions/usort.xml
diff -u phpdoc/en/reference/array/functions/usort.xml:1.6 
phpdoc/en/reference/array/functions/usort.xml:1.7
--- phpdoc/en/reference/array/functions/usort.xml:1.6   Mon Jun 17 11:34:33 2002
+++ phpdoc/en/reference/array/functions/usort.xml       Sat Oct 26 02:58:16 2002
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.6 $ -->
+<!-- $Revision: 1.7 $ -->
 <!-- splitted from ./en/functions/array.xml, last change in rev 1.2 -->
   <refentry id="function.usort">
    <refnamediv>
@@ -13,7 +13,7 @@
      <methodsynopsis>
       <type>void</type><methodname>usort</methodname>
       <methodparam><type>array</type><parameter>array</parameter></methodparam>
-      
<methodparam><type>string</type><parameter>cmp_function</parameter></methodparam>
+      
+<methodparam><type>callback</type><parameter>cmp_function</parameter></methodparam>
      </methodsynopsis>
     <para>
      This function will sort an array by its values using a
@@ -116,7 +116,7 @@
 ]]>
      </screen>
     </para>
-    &note.func-callback;
+
     <para>
      <example>
       <title>
@@ -165,13 +165,7 @@
 d
      </screen>
     </para>
-    <warning>
-     <para>
-      The underlying quicksort function in some C libraries (such as
-      on Solaris systems) may cause PHP to crash if the comparison
-      function does not return consistent values.
-     </para>
-    </warning>
+
     <para>
      See also <function>uasort</function>,
      <function>uksort</function>, <function>sort</function>,



-- 
PHP Documentation Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to