شرح صفوف ومحتوى الفقرة
في التطبيقات الكبيرة التي تضم مئات الأصناف، تصبح كتابة عشرات أوامر require_once يدوياً في بداية كل ملف بطيئة وهشة ومستحيلة الصيانة.
- تحميل 200 ملف صنف مسبقاً بينما لا يستخدم الطلب الحالي سوى 6 منها يهدر الذاكرة ووقت المعالجة.
- نقل ملف أو تغيير اسم مجلد يكسر المسارات النسبية المكتوبة يدوياً في عشرات الملفات.
- يحل التحميل التلقائي للأصناف (Autoloading) هاتين المشكلتين عبر تحميل ملف الصنف عند الطلب فقط في اللحظة التي يُشار فيها إلى الصنف لأول مرة.
تمرير false كمعامل ثانٍ للدالة class_exists($name, false) يفحص ما إذا كان الصنف محملاً في الذاكرة حالياً دون استدعاء المحمل التلقائي.
PHP
<?php
// Instead of 50 manual require_once lines at the top of every script,
// lazy autoloading resolves only the classes actually used:
$loadedBefore = class_exists("CartCalculator", false);
class CartCalculator {
public function subtotal(int $qty, int $price): int { return $qty * $price; }
}
$calc = new CartCalculator();
echo "Before={$loadedBefore} | Total=" . $calc->subtotal(3, 120) . "\n";