>
> Hi,
>
> Note that (typos aside) this example cannot work as-is, because
> `static::namespace` (like `static::class`) cannot be resolved at
> compile-time, and therefore cannot be assigned to a constant.
>
> More generally, in the various examples you provided, the namespace is not
> resolved at compile-time: it is either static::namespace or
> $fullClassName::namespace where $fullClassName is provided by the
> autoloader. As such, instead of a ::namespace magic class constant, it might
> be more appropriate to have a helper function, say `get_namespace()`, which
> has the additional benefit to work not only on (fully qualified) class
> names, but also on function, constant and namespace names (in the case of
> namespace names, it would return the name of the parent namespace).
>
> —Claude
>
>
Hi, Claude,
That's sound great. Something like dirname[1] but with namespaces.
But...in that case, I also add a new function like basename but with
namespaces. Example autoload for WordPress :
```
function autoload( $ful_class_name ) {
$class_ path = str_replace('\\', '/', get_namespace( $ful_class_name ) );
$class_name = strtolower( get_base_namespace( $ful_class_name ) );
require "{$class_path}/class-{$class_name}.php";
}```
[1]: https://www.php.net/manual/es/function.dirname.php
[2]: https://www.php.net/manual/es/function.basename.php
Regards
--
Manuel Canga
Zend Certified PHP Engineer
Websites: https://manuelcanga.dev | https://trasweb.net
Linkedin: https://es.linkedin.com/in/manuelcanga
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: https://www.php.net/unsub.php