rfc:object-model-improvements

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
rfc:object-model-improvements [2011/02/25 22:36] – edited martinscottarfc:object-model-improvements [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 1: Line 1:
-====== Request for Comments: How to write RFCs ======+====== Request for Comments: Object Model Improvements ======
   * Version: 1.0   * Version: 1.0
-  * Date: 2008-03-06+  * Date: 2011-02-24
   * Author: Martin Scotta <martinscotta@gmail.com>   * Author: Martin Scotta <martinscotta@gmail.com>
   * Status: Under Discussion   * Status: Under Discussion
Line 14: Line 14:
 ==== Why do we need this ==== ==== Why do we need this ====
  
-Actual PHP5 object model provides the basic for Object Oriented programming but it lacks for support for library or third parties developer.+Actual PHP5 object model provides the basic for Object Oriented programming but it lacks for support for library or third parties developers.
  
 ==== New Features ==== ==== New Features ====
- Constructors+=== Constructors ===
     * Provide a default empty constructor (if applicable)     * Provide a default empty constructor (if applicable)
     * Remove the inheritance     * Remove the inheritance
     * Disallow directly calls to them     * Disallow directly calls to them
     * Ensure constructor call on parent classes     * Ensure constructor call on parent classes
- +=== Magic methods ===
- Magic methods:+
     * disallow directly call from outer context?     * disallow directly call from outer context?
     * markers interfaces     * markers interfaces
- +=== class / interface ===
- class / interface+
     * provide a magic constant with the fully qualified class name     * provide a magic constant with the fully qualified class name
-      <code> +      <code php
-          namespace Test {  +namespace Foo { 
-              class Bar {} + class Baz {}  
-              var_dump( Bar::CLASS ); // string "Test\Bar" +
-          }+namespace Test {  
 + use \Foo\Baz; 
 + 
 + interface Marker {} 
 + class Bar implements Marker {} 
 + 
 + var_dump( Marker::CLASS ); // string "Test\Marker" 
 + var_dump( Baz::CLASS ); // string "Foo\Baz" 
 + var_dump( Bar::CLASS ); // string "Test\Bar" 
 +
 +      </code> 
 +=== errors into exceptions === 
 +   * Improve PHP Exception class 
 +   * Remove errors/warnings, throw an Exceptions instead 
 +   * Better stacks dump 
 +      <code php> 
 +try { 
 + include $file; // as of today we just die here 
 +} catch(Exception $e) { 
 + echo $e->getMessage(); 
 + throw new DomainException($e); 
 +}
       </code>       </code>
  
rfc/object-model-improvements.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1