کلاس autoload

پرسیده شده
فعالیت 1375 روز پیش
دیده شده 755 بار
0

استاد سلام 

استاد من کلاس زیر رو برای autoload کردن بر حسب روت کلاس نوشتم ولی مشکلی که دارم این هست که توی هوک ها حتما باید این روت رو قبل کلاس نوشته شه  

<?php

/**
 * autoload class 
 */
class shop_autoloader_classes
{
    private static $_instance = null;

    public function __construct()
    {
        spl_autoload_register([$this, 'autoload']);
    }

    public static function get_instance()
    {
        if (self::$_instance === null) {
            self::$_instance = new self();
        }
    }

    private function autoload($class_name)
    {
        $path_class = SHOP_DIR . str_replace('\\', DIRECTORY_SEPARATOR, $class_name) . '.classes.php';
        if (file_exists($path_class) && is_readable($path_class)) {
            include $path_class;
        } else {
            echo "class  {$path_class} not found";
            exit();
        }
    }
}

shop_autoloader_classes::get_instance();
<?php

include "bootstrap/init.php";

add_action('after_setup_theme', 'App\setup::init');

این که روت کلاس رو باید قبل کلاس بنویسم به نظرتون کار درستیه؟ و باعث کثیف نوشته شدن بخش هوک ها نمیشه

فایل پیوست

sadegh hassani
sadegh hassani

4 مرداد 99

0
حذف شده

سلام. مشکل خاصی درست نمی کنه. اما می تونی از روش فرخوانی هوک ها در خود کلاس ها هم استفاده کنید و در نهایت خود کلاس رو نمونه سازی کنید تا هوک اجرا بشه.

فایل پیوست

کیوان علی محمدی

توسط

کیوان علی محمدی

5 مرداد 99

جلسه بررسی تابع سازنده