Autoload
This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. (October 2023) |
In computer programming, autoloading is the capability of loading and linking portions of a program from mass storage automatically when needed, so that the programmer is not required to define or include those portions of the program explicitly. Many high-level programming languages include autoload capabilities, which sacrifice some run-time speed for ease of coding and speed of initial compilation/linking.
Typical autoload systems intercept procedure calls to undefined subroutines. The autoloader searches through a path of directories in the computer's file system, to find a file containing source or object code that defines the subroutine. The autoloader then loads and links the file, and hands control back to the main program so that the subroutine gets executed as if it had already been defined and linked before the call.
Many interactive and high-level languages operate in this way. For example, IDL includes a primitive path searcher, and Perl allows individual modules to determine how and whether autoloading should occur. The Unix shell may be said to consist almost entirely of an autoloader, as its main job is to search a path of directories to load and execute command files. In PHP 5, autoload functionality is triggered when referencing an undefined class. One or more autoload functions—implemented as the __autoload magic function or any function registered to the SPL autoload stack—is called and given the opportunity to define the class, usually by loading the file it is defined in.
PHP
spl_autoload_register(function ($class) {
$file = 'src/' . str_replace('\\', '/', $relative_class) . '.php';
if (file_exists($file)) {
require $file;
}
});
External links
- PSR-4 Improved Autoloading Standard
- Autoloading Classes in PHP
- spl_autoload_register in PHP
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.