استاد سلام
استاد من کلاس زیر رو برای 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');
این که روت کلاس رو باید قبل کلاس بنویسم به نظرتون کار درستیه؟ و باعث کثیف نوشته شدن بخش هوک ها نمیشه
سلام. مشکل خاصی درست نمی کنه. اما می تونی از روش فرخوانی هوک ها در خود کلاس ها هم استفاده کنید و در نهایت خود کلاس رو نمونه سازی کنید تا هوک اجرا بشه.