Req #65056 [Com]: Is there a plan for adding a ReflectionParameter::getDocComment() method?

From: Date: Mon, 28 Sep 2020 20:02:17 +0000
Subject: Req #65056 [Com]: Is there a plan for adding a ReflectionParameter::getDocComment() method?
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-229253@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=65056&edit=1

 ID:                 65056
 Comment by:         benjamin dot morel at gmail dot com
 Reported by:        benjamin dot morel at gmail dot com
 Summary:            Is there a plan for adding a
                     ReflectionParameter::getDocComment() method?
 Status:             Open
 Type:               Feature/Change Request
 Package:            Reflection related
 Operating System:   N/A
 PHP Version:        Irrelevant
 Block user comment: N
 Private report:     N

 New Comment:

Please note that the use case above is irrelevant now that attributes have been introduced. There is
probably no other use case for doc comments on parameters, so I think this feature request can be
closed.


Previous Comments:
------------------------------------------------------------------------
[2016-01-07 11:37:24] tpunt@php.net

This is not a documentation problem - The ReflectionParameter::getDocComment() function simply does
not exist.

The engine currently does not support doc comments on a per-parameter basis, hence why it has not
been exposed in the ReflectionParameter class.

------------------------------------------------------------------------
[2013-06-18 11:52:14] benjamin dot morel at gmail dot com

Description:
------------
I've never seen any discussion regarding the addition of a 
ReflectionParameter::getDocComment() method.

The only mention I've found is in this post from 2005(!):
http://news.php.net/php.internals/14906

This would be a very useful feature for dependency injection frameworks.

For example, if you want to use annotations to configure dependency injection on 
the following class:

class Service
{
    public function __construct(PDO $pdo, $configuration)
    {
    }
}

You would need to do something like:

class Service
{
    /**
     * @InjectParam(name="pdo", value="database.connection")
     * @InjectParam(name="configuration", value="database.configuration")
     */
    public function __construct(PDO $pdo, $configuration)
    {
    }
}

Whereas we could benefit from the following approach:

class Service
{
    public function __construct(
        /** @Inject("database.connection") */ PDO $pdo,
        /** @Inject("database.configuration") */ $configuration)
    {
    }
}




------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=65056&edit=1


Thread (4 messages)

« previous php.bugs (#229253) next »