nlopess         Thu May 26 12:40:52 2005 EDT

  Modified files:              
    /phpdoc/en/language/oop5    typehinting.xml 
  Log:
  add array type hinting
  
http://cvs.php.net/diff.php/phpdoc/en/language/oop5/typehinting.xml?r1=1.2&r2=1.3&ty=u
Index: phpdoc/en/language/oop5/typehinting.xml
diff -u phpdoc/en/language/oop5/typehinting.xml:1.2 
phpdoc/en/language/oop5/typehinting.xml:1.3
--- phpdoc/en/language/oop5/typehinting.xml:1.2 Sun Oct  3 01:07:04 2004
+++ phpdoc/en/language/oop5/typehinting.xml     Thu May 26 12:40:51 2005
@@ -1,14 +1,15 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.2 $ -->
+<!-- $Revision: 1.3 $ -->
  <sect1 id="language.oop5.typehinting">
   <title>Type Hinting</title>
   <para>
    PHP 5 introduces Type Hinting. Functions are now able to force parameters
-   to be objects by specifying the name of the class in the function prototype.
+   to be objects (by specifying the name of the class in the function
+   prototype) or arrays (since PHP 5.1).
   </para>
   
   <example>
-   <title>Type Hinting example</title>
+   <title>Type Hinting examples</title>
     <programlisting role="php">
 <![CDATA[
 <?php
@@ -23,6 +24,16 @@
     public function test(OtherClass $otherclass) {
         echo $otherclass->var;
     }
+
+
+    /**
+     * Another test function
+     *
+     * First parameter must be an array
+     */
+    public function test_array(array $input_array) {
+        print_r($input_array);
+    }
 }
 
 // Another example class
@@ -54,6 +65,12 @@
 
 // Works: Prints Hello World
 $myclass->test($otherclass);
+
+// Fatal Error: Argument 1 must be an array
+$myclass->test_array('a string');
+
+// Works: Prints the array
+$myclass->test_array(array('a', 'b', 'c'));
 ?>
 ]]>
    </programlisting>
@@ -85,9 +102,9 @@
    </programlisting>
   </example>
   <para>
-   Type Hints can only be of the <type>object</type> type. Traditional
-   type hinting with <type>int</type> and <type>string</type> are not
-   supported.
+   Type Hints can only be of the <type>object</type> and <type>array</type>
+   (since PHP 5.1) type. Traditional type hinting with <type>int</type> and
+   <type>string</type> isn't supported.
   </para>
  </sect1>
  

Reply via email to