Re: Changing method naming in FFI Type Reflection API from Arg->Parameter, etc
| From: | tyson andre | Date: | Tue, 13 Jul 2021 14:18:29 +0000 |
| Subject: | Re: Changing method naming in FFI Type Reflection API from Arg->Parameter, etc | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-115422@lists.php.net to get a copy of this message | ||
> > The FFI Type Reflection API mentioned in
> > https://externals.io/message/115336 was recently added
> >
> > My opinion is that that they should be renamed to use the same naming
> > scheme that PHP's Reflection extension is already using.
> > Having different ways of naming very similar concepts (different from
> > https://www.php.net/reflectionfunctionabstract) would make
> > the language
> > harder to remember.
> > I'd brought that up in
> > #rà�Âï{ÇHd¹¨
> > }¥ïhttps://github.com/php/php-src/pull/7217#pullrequestreview-700990479
> > with no response
> >
> > What do others think about the name? I was considering holding a short
> > vote
> > (on getReturnType, getParameterCount, getParameterType) before the
> > feature freeze if there was interest
> >
> > In particular,
> >
> > - FFI\CData->getFuncReturnType should be changed to getReturnType -
> > only functions have return types
> >
> >Â Â This is consistent with
> > https://www.php.net/reflectionfunctionabstract
> > - I believe Arg should be renamed to Parameter and Func should be
> > removed from names where redundant.
> >Â Â E.g. getFuncArgCount should be renamed to getParameterCount
> > (getFuncArgType should be renamed getParameterType) - only functions
> > have parameters,
> >Â Â and PHP is already already using "Parameter" instead of "Argument"
> >
> > for reflection on types elsewhere.
> >
> >Â Â Parameter is used to refer to the function declarations (AST_PARAM
> > internally in the AST, ReflectionFunctionAbstract->getParameters(),
> > etc.)
> >Â Â Argument is used to refer to expressions passed to the functions by
> > the caller (ArgumentCountError, etc.)
> >
> >Â Â Other languages use similar definitions, e.g.
> >
> > https://developer.mozilla.org/en-US/docs/Glossary/Parameter
> > - The discussion over where FFI arrays should support Countable::count
> > (and non-arrays should throw) might be contentious so I'd rather keep
> > getArrayLength
>
> This all makes sense to me. Consistent naming is better unless there's a very specific
> reason to to otherwise.
Created a PR https://github.com/php/php-src/pull/7236
Actually, looking at this again, I don't see a need to drop the "Func" - there's
already getFuncABI.
If you look at the current implementation, there's getStruct* for structures, getArray*,
getPointer*, meaning
getFunc* sort of makes sense for a naming scheme to make it easier
to find functionality associated with a given func.
Still, I find my proposal of Arg->Parameter continues to make sense to me.
Thanks,
Tyson