Re: Explicit callee defaults
| From: | Mike Schinkel | Date: | Sat, 27 Jul 2024 08:42:30 +0000 |
| Subject: | Re: Explicit callee defaults | ||
| References: | 1 2 3 4 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-124638@lists.php.net to get a copy of this message | ||
> On Jul 27, 2024, at 3:19 AM, Rob Landers <rob@bottled.codes> wrote:
> There’s nothing stopping you from doing that, except your autoloader. If you wanted to have
> every class ending with Arg load the same class without arg; so QueryArg and Query are usually in
> the same file (but can be in separate files too), you could do something like this:
>
> <?php
> function customArgAutoloader($className) {
> if (substr($className, -3) === 'Arg') {
> $baseClass = substr($className, 0, -3);
> $filePath = __DIR__ . '/' . $baseClass . '.php';
>
> if (file_exists($filePath)) {
> require_once $filePath;
> }
> }
> }
>
> spl_autoload_register('customArgAutoloader');
>
> (Untested, but you get the idea)
Sure, but that is non-standard, so it would be swimming against the current to use it, and no one
else would write code that way.
Still, the reason for my comment was to ask we consider a first-class args type which would enable
being able to pass parameters like
{foo: 1, bar: 2} instead of new
QueryArgs(foo: 1, bar: 2), not to discuss autoloaders.
-Mike