Re: Idea: Function autoloading using dummy namespaces

From: Date: Mon, 18 Jul 2016 13:55:36 +0000
Subject: Re: Idea: Function autoloading using dummy namespaces
References: 1 2  Groups: php.internals 
Request: Send a blank email to internals+get-94552@lists.php.net to get a copy of this message
On 18/07/2016 01:50, Stanislav Malyshev wrote:
Hi!
How about an alternative approach where a function inside a namespace can be autoloaded using the existing callback, by using a reserved namespace segment? So to autoload function "foo\bar()", the engine would construct a string like "__function\foo\bar" or "foo\__function\bar", and pass that to the registered autoloader stack.
Magic out-of-domain values usually are bad design, and lead to a lot of trouble since now the system needs to deal with two sets of assumptions instead of one. I wouldn't recommend doing it.
Hi Stas, My original idea was actually to have the autoloader look up "foo\bar\__functions" for *any* function in namespace "foo\bar", with the idea that some existing autoloaders would actually be able to work without any modification (just call your file "__functions.php"). If you include the function name (to give users more flexibility), that doesn't really work (unless you have one function per file), so you're right that it requires some muddling assumptions. I agree that it's all a bit magic either way, but I thought it might get the feature moving quicker than a complete rewrite of the existing autoload system. Like I say, it was just an idea. :) Regards, -- Rowan Collins [IMSoP]

« previous php.internals (#94552) next »