nlopess         Mon May 24 10:07:36 2004 EDT

  Modified files:              
    /phpdoc/en/appendices       migration5.xml 
  Log:
  fix #27440 amd #27649 and some examples
  
http://cvs.php.net/diff.php/phpdoc/en/appendices/migration5.xml?r1=1.17&r2=1.18&ty=u
Index: phpdoc/en/appendices/migration5.xml
diff -u phpdoc/en/appendices/migration5.xml:1.17 
phpdoc/en/appendices/migration5.xml:1.18
--- phpdoc/en/appendices/migration5.xml:1.17    Mon May 24 09:34:23 2004
+++ phpdoc/en/appendices/migration5.xml Mon May 24 10:07:35 2004
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.17 $ -->
+<!-- $Revision: 1.18 $ -->
  <appendix id="migration5">
   <title>Migrating from PHP 4 to PHP 5</title>
 
@@ -69,9 +69,6 @@
     <listitem><simpara>
       An object with no properties is no longer considered "empty".
     </simpara></listitem>
-    <listitem><simpara>
-      Classes must be declared before used.
-    </simpara></listitem>
    </itemizedlist>
 
    <para>
@@ -109,29 +106,6 @@
      </programlisting>
     </example>
    </para>
-   <para>
-    The following example was valid in &php; 4, although it will produce a fatal
-    error in &php; 5.
-   </para>
-   <para>
-    <example>
-     <title>Classes must be declared before used</title>
-     <programlisting role="php">
-<![CDATA[
-<?php
-$test = new fubar();
-$test->barfu();
-
-class fubar {
-    function barfu() {
-        echo 'fubar';
-    }
-}
-?>
-]]>
-     </programlisting>
-    </example>
-   </para>
   </section>
 
   <section id="migration5.cli-cgi">
@@ -1097,113 +1071,17 @@
      <programlisting role="php">
 <![CDATA[
 <?php
-class MyException {
-    function __construct($exception) {
-        $this->exception = $exception;
-    }
-
-    function Display() {
-        print "MyException: $this->exception\n";
-    }
-}
-
-class MyExceptionFoo extends MyException {
-    function __construct($exception) {
-        $this->exception = $exception;
-    }
-
-    function Display() {
-        print "MyException: $this->exception\n";
-    }
-}
-
 try {
-    throw new MyExceptionFoo('Hello');
-}
-catch (MyException $exception) {
-    $exception->Display();
+   throw new Exception('Hello');
 }
 catch (Exception $exception) {
-    echo $exception;
-}
-?>
-]]>
-     </programlisting>
-    </example>
-    <para>
-     Even though the above example shows that it is possible to define
-     exception classes that don't inherit from Exception it is best to do so.
-     This is because the internal Exception class can gather a lot of
-     information otherwise not available. The &php; code emulation code would
-     look something like shown below. The comments show the meaning of each
-     property and hence their getter methods. As the code shows it is possible
-     to read any available information by using the getter methods. But since
-     some of the methods are used internally they are marked final. All in all
-     the class is very restrictive because it must be ensured that anything
-     used internally always works as expected.
-    </para>
-    <example>
-     <title>Base exceptions class</title>
-     <programlisting role="php">
-<![CDATA[
-<?php
-class Exception {
-    function __construct(string $message=NULL, int code=0) {
-        if (func_num_args()) {
-            $this->message = $message;
-        }
-        $this->code = $code;
-        $this->file = __FILE__; // of throw clause
-        $this->line = __LINE__; // of throw clause
-        $this->trace = debug_backtrace();
-        $this->string = StringFormat($this);
-    }
-
-    protected $message = 'Unknown exception'; // exception message
-    protected $code = 0; // user defined exception code
-    protected $file;    // source filename of exception
-    protected $line;    // source line of exception
-
-    private $trace;      // backtrace of exception
-    private $string;    // internal only!!
-
-    final function getMessage() {
-        return $this->message;
-    } 
-    final function getCode() {
-        return $this->code;
-    }
-    final function getFile() {
-        return $this->file;
-    }
-    final function getTrace() {
-        return $this->trace;
-    }
-    final function getTraceAsString() {
-        return self::TraceFormat($this);
-    }
-    function _toString() {
-        return $this->string;
-    }
-    static private function StringFormat(Exception $exception) {
-        // ... a function not available in PHP scripts
-        // that returns all relevant information as a string
-    }
-    static private function TraceFormat(Exception $exception) {
-        // ... a function not available in PHP scripts
-        // that returns the backtrace as a string
-    }
+   echo $exception;
 }
 ?>
 ]]>
      </programlisting>
     </example>
     <simpara>
-     If you derive your exception classes from this Exception base class your
-     exceptions will be nicely shown in the built-in handler for uncaught
-     exceptions.
-    </simpara> 
-    <simpara>
      Old code that has no user-defined classes or functions 'catch', 'throw'
      and 'try' will run without modifications.
     </simpara>
@@ -1552,7 +1430,7 @@
 
 // matches the following 7 lines with the for directive.
 $it = $obj->getIterator();
-for($it->rewind(); $it->hasMore(); $it->next) {
+for($it->rewind(); $it->valid(); $it->next()) {
     $key = $it->current();
        $val = $it->key();
           echo "$key = $val\n";
@@ -1655,11 +1533,11 @@
     }
 }
 
-reflection_class::export('Foo');
-reflection_object::export(new Foo);
-reflection_method::export('Foo', 'func');
-reflection_property::export('Foo', 'prop');
-reflection_extension::export('standard');
+reflectionClass::export('Foo');
+reflectionObject::export(new Foo);
+reflectionMethod::export('Foo', 'func');
+reflectionProperty::export('Foo', 'prop');
+reflectionExtension::export('standard');
 ?> 
 ]]>
      </programlisting>

Reply via email to