<?php

if (!defined('ABSPATH')) {
    exit;
}

// ... سایر require_once ها

require_once ACCJ_ACL_PATH . 'core/class-cache.php'; // جدید
require_once ACCJ_ACL_PATH . 'services/menu-service.php'; // جدید

// ...

function accj_acl() {
    return Accj_ACL::instance();
}

// اضافه کردن کش و سرویس منو به کلاس ACL
class Accj_ACL {
    // ...
    private $cache_service; // جدید
    private $menu_service;  // جدید

    private function __construct(){
        // ...
        $this->cache_service = new ACCJ_ACL_Cache(); // جدید
        $this->menu_service = new ACCJ_Menu_Service($this); // جدید
    }

    public function get_cache_service() { // جدید
        return $this->cache_service;
    }

    public function get_permission_service() { // جدید (برای دسترسی به این سرویس در Role کلاس)
        return $this->permission_service;
    }

    // ...
}
