rfc:reflectionparameter-getclassname

Differences

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

Link to this comparison view

Next revision
Previous revision
rfc:reflectionparameter-getclassname [2015/01/31 04:09]
philstu created
rfc:reflectionparameter-getclassname [2015/02/14 16:27]
philstu isClas() + getType() will cover this once / if scalars make it in
Line 1: Line 1:
 ====== PHP RFC: ReflectionParameter::getClassName() ====== ====== PHP RFC: ReflectionParameter::getClassName() ======
-  * Version: 0.1+  * Version: 0.2
   * Date: 2015-01-30   * Date: 2015-01-30
   * Author: Phil Sturgeon, me@philsturgeon.uk   * Author: Phil Sturgeon, me@philsturgeon.uk
-  * Status: Draft+  * Status: Withdrawn
   * First Published at: http://wiki.php.net/rfc/reflectionparameter-getclassname   * First Published at: http://wiki.php.net/rfc/reflectionparameter-getclassname
  
 ===== Introduction ===== ===== Introduction =====
  
-Adds a new method to ReflectionParameter to allow easy access to a class name in a type hint, avoiding the need to actually load the class and use `get_class()` or `::class`.+Adds a new method to ReflectionParameter to allow easy access to a class name in a type hint, avoiding the need to actually load the class and use `getClass()->name`.
  
 ===== Proposal ===== ===== Proposal =====
Line 16: Line 16:
 <PHP> <PHP>
 <?php <?php
 +
 +use Bar\Baz;
 +
 class Foo { class Foo {
-  public function bar(Qux $qux) {}+  public function bar(Qux $qux, $bar, Baz $baz, \Bar\Quz $quz) {} 
 + 
 +  public function waldo(array $wibble, callable $wobble) {}
 } }
  
Line 25: Line 30:
  
 var_dump($params[0]->getClassName()); // string(3) "Qux" var_dump($params[0]->getClassName()); // string(3) "Qux"
 +var_dump($params[1]->getClassName()); // NULL
 +var_dump($params[2]->getClassName()); // string(7) "Bar\Baz"
 +var_dump($params[3]->getClassName()); // string(7) "Bar\Quz"
 +
 +$method = $class->getMethod("waldo");
 +$params = $method->getParameters();
 +var_dump($params[0]->getClassName()); // NULL
 +var_dump($params[1]->getClassName()); // NULL
 </PHP> </PHP>
 +
 +This is only targeted at classes, not any other typehint. If scalar type hints come then I'm sure they'll have some new reflection methods. This is just getClass()->name but without the need to load the class.
  
 ===== Backward Incompatible Changes ===== ===== Backward Incompatible Changes =====
Line 38: Line 53:
  
 None so far None so far
- 
-===== Proposed Voting Choices ===== 
- 
-50%+1 majority 
  
 ===== Patches and Tests ===== ===== Patches and Tests =====
rfc/reflectionparameter-getclassname.txt · Last modified: 2017/09/22 13:28 (external edit)