rfc:object-model-improvements

Differences

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

Link to this comparison view

rfc:object-model-improvements [2011/03/03 14:11]
martinscotta
rfc:object-model-improvements [2017/09/22 13:28]
Line 1: Line 1:
-====== Request for Comments: Object Model Improvements ====== 
-  * Version: 1.0 
-  * Date: 2011-02-24 
-  * Author: Martin Scotta <​martinscotta@gmail.com>​ 
-  * Status: Under Discussion 
-  * First Published at: http://​wiki.php.net/​rfc/​object-model-improvements 
- 
- 
-===== Introduction ===== 
- 
-The purpose of RFCs is to improve the current PHP5 object model. 
- 
- 
-==== 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 developers. 
- 
-==== New Features ==== 
-  - Constructors 
-    * Provide a default empty constructor (if applicable) 
-    * Remove the inheritance 
-    * Disallow directly calls to them 
-    * Ensure constructor call on parent classes 
-  - Magic methods: 
-    * disallow directly call from outer context? 
-    * markers interfaces 
-  - class / interface 
-    * provide a magic constant with the fully qualified class name 
-      <code php> 
-<?php 
-namespace Foo { 
-class Baz {}  
-} 
-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(PHPParseException $e) { 
- echo $e->​getMessage();​ 
- throw new DomainException($e);​ 
-} 
-      </​code>​ 
- 
-===== Changelog ===== 
- 
- 
  
rfc/object-model-improvements.txt · Last modified: 2017/09/22 13:28 (external edit)