If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
PHP में auto-loading एक ऐसी technique है जो आपको classes
और objects
को automatically load करने में help करती है जब उनका पहली बार use किया जाता है। इसका मतलब है कि आपको manually require या include statements लिखने की need नहीं होती।
PHP में auto-loading ने coding process को बहुत ही आसान और organized बनाया है, खासकर जब आप large-scale applications develop कर रहे होते हैं।
Autoloading का basic concept यह है कि जब भी आप किसी class
का नाम use करते हैं जो अब तक load नहीं हुई है, PHP automatically उस class file को locate करने कि कोशिश करता है और उसको load करता है। इससे आपको manually classes को include करने कि need नहीं होती।
PHP के built-in functions जैसे spl_autoload_register()
इसमें काफी helpful होते हैं।
Automatic Loading : आपको हर class के लिए require या include statements लिखने कि need नहीं होती।
Clean Code : Autoloading आपके code को clean और maintainable बनाता है, specially large projects में।
Performance Optimization : सिर्फ वही files load होती हैं जो actually use हो रही हैं, इससे performance better होता है।
PSR-4 Standard Support : PHP Frameworks जैसे Laravel PSR-4 autoloading standard को follow करते हैं जो autoloading को even more powerful बनाता है।
●●●
चलिए सबसे पहले एक basic example देखते हैं कि autoloading PHP में कैसे काम करता है।
Suppose आपके पास दो classes हैं : User
और Product
. Normally, आपको इन classes को use करने से पहले उनको include करना पड़ता।
// Traditional way without autoloading
require 'User.php';
require 'Product.php';
$user = new User();
$product = new Product();
लेकिन auto loading के साथ, आपको manually include करने कि need नहीं है , आप spl_autoload_register()
function का use कर सकते हैं।
// Autoloading with spl_autoload_register
spl_autoload_register(function($className) {
include $className . '.php';
});
$user = new User();
$product = new Product();
spl_autoload_register()
एक anonymous function को register करता है जो automatically उन classes कि files को include
करता है जब उनका pehli बार use होता है।
इस example में, User.php
और Product.php
files automatically load हो जाएँगी जब User और Product classes का instance
create होगा।
●●●
Autoloading काफी useful होता है जब आपके पास complex folder structure हो और आप चाहे कि PHP automatically correct file locate करे।
चलिए एक folder structure setup करते हैं -
/project /classes User.php Product.php
अब हम auto loading implement करते हैं ताकि यह folder structure में classes
को automatically load करे -
spl_autoload_register(function($className) {
$path = 'classes/' . $className . '.php';
if (file_exists($path)) {
require $path;
}
});
$user = new User();
$product = new Product();
example में, spl_autoload_register()
function classes/
folder में class file को locate करता है और उसको include करता है अगर file exist करती है।
इस तरह, आपको manually हर file को include करने कि need नहीं होती, और PHP automatically class को load कर लेता है।
●●●
PSR-4 एक standardized auto loading convention है जो PHP-FIG
(PHP Framework Interop Group) द्वारा define कि गयी है , इसमें Namespaces और directory structures का use करके auto loading किया जाता है।
Laravel जैसे frameworks इस PSR-4 standard को follow करते हैं।
Suppose आपका folder structure कुछ ऐसा है -
/src /Models User.php Product.php
और आप Namespaces का use कर रहे हैं -
// User.php
namespace Models;
class User {
// Class code here
}
// Product.php
namespace Models;
class Product {
// Class code here
}
अब आप composer.json
file में auto loading configuration add करते हैं -
{
"autoload": {
"psr-4": {
"Models\\": "src/Models/"
}
}
}
Composer को update करने के लिए command run करें -
composer dump-autoload
अब आप namespaces
के through classes को directly use कर सकते हैं।
require 'vendor/autoload.php';
use Models\User;
use Models\Product;
$user = new User();
$product = new Product();
PSR-4 standard में namespaces
और folder structure को sync रखा जाता है , composer.json
में psr-4 configuration set करने के बाद, Composer automatically classes को correct location से auto load करता है।
●●●
PHP में auto loading ने development process को simplify कर दिया है, खासकर जब large applications और complex folder structures के साथ काम करना हो।
spl_autoload_register()
जैसे functions और PSR-4 standard के support से, आप आसानी से अपनी classes को auto load कर सकते हैं बिना manually files को include किये।
Auto loading का use करके आप अपना code more organized और maintainable बना सकते हैं. अगर आप PHP frameworks जैसे Laravel का use कर रहे हैं, तो autoloading by default integrated होता है जो आपके development experience को और भी smooth बनाता है।
●●●
Loading ...