Feature #18055
openIntroduce
Description
Currently, autoload
provides the ability to load libraries on the fly, also called lazy loading, in order to avoid huge startup times.
This has some disadvantages, who already lead nearly to its discontinuation
I suggest a proposal, that solves both these issues.
introduce
I imagine this keyword, respectively method behaves like require
at the top of the file and does act like autoload
within a definition.
We can also introduce exceptions for cases like the above linked threads.
Its also a nice guideline, and easy to remember.
Summary: introduce
can always behave predictable, optimal, and even work fine without the programmer knowing about its implementation.
Similar issues:
Updated by shalokshalom (Matthias Schuster) over 3 years ago
- Description updated (diff)
Updated by matz (Yukihiro Matsumoto) over 3 years ago
Can you explain how introduce
solves the issue? How it is better than require
and autoload
?
Matz.
Updated by shalokshalom (Matthias Schuster) over 3 years ago
Hi Matz!
I see value in it, since it gives us one unified way, to call libraries:
Where ever you do it, when ever you do it, it is always the most optimal choice.
Currently, users shy away from using autoload, since its riddled with use cases, in which it can bite your back.
introduce
always uses the most optimal way.
This gives a nice 'wrapper' around autoload and require, that lets us use always the most optimal of the two.
It can encourage, to load libraries only, when they are really used, and by that, increasing the start-up performance.
I hope this can help :)