rfc:reflectionparameter-getclassname

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
Last revisionBoth sides next revision
rfc:reflectionparameter-getclassname [2015/01/31 04:11] philsturfc:reflectionparameter-getclassname [2015/02/14 16:27] – isClas() + getType() will cover this once / if scalars make it in philstu
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: Under Discussion+  * 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 =====
rfc/reflectionparameter-getclassname.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1