Skip to content

Latest commit

 

History

History
115 lines (97 loc) · 2.87 KB

File metadata and controls

115 lines (97 loc) · 2.87 KB
classDiagram
    direction LR
    class System {
        +static init()
        -static healthCheck()
        -static setupLogging()
        +static log(message, level)
        +static getLogs(limit)
    }

    class ThemeHandler {
        -static $activeTheme
        -static $themePath
        +static init()
        +static render_header(data)
        +static render_footer(data)
        +static load_template(templateName, data)
        +static getThemePath()
        +static getActiveTheme()
    }

    class RoutesHandler {
        -static $routes
        +static init()
        +static addRoute(method, pattern, callback, middlewares)
        -static formatPattern(pattern)
        +static dispatch()
        +static getRoutes()
    }

    class HookHandler {
        -static $hooks
        +static register_hook(actionName, callback, when, priority)
        +static do_action(actionName, args, actionCallback)
    }

    class PluginHandler {
        -static $activePlugins
        +static init()
        -static loadPlugins()
        +static getActivePlugins()
        +static installPlugin(zipFilePath)
    }

    class DatabaseHandler {
        -static $connection
        -static $config
        +static init()
        -static connect()
        +static getConnection()
        +static query(sql, params)
    }

    class QueryBuilder {
        - $table
        - $query
        - $bindings
        + __construct(table)
        + select(columns)
        + where(column, operator, value)
        + insert(data)
        + update(data)
        + delete()
        + get()
        + execute()
    }

    class OutHandler {
        +static init()
        +static isLoggedIn()
        +static requireAuth()
        +static checkPermission(permission)
        +static login(userId, userRole)
        +static logout()
        +static redirect(url)
    }

    class APIHandler {
        +static handleRequest(endpoint)
        -static authenticate()
        -static listClients()
        -static createNewUser()
        +static sendJsonResponse(data, statusCode)
    }

    System --o ThemeHandler : uses
    System --o DatabaseHandler : uses
    System --o OutHandler : uses
    System --o PluginHandler : uses
    System --o RoutesHandler : uses

    RoutesHandler --o APIHandler : uses
    RoutesHandler --o OutHandler : uses
    RoutesHandler --o HookHandler : uses

    PluginHandler --o RoutesHandler : uses
    PluginHandler --o System : uses

    DatabaseHandler --o QueryBuilder : creates
    QueryBuilder --o DatabaseHandler : uses
    DatabaseHandler --o System : uses

    OutHandler --o System : uses

    APIHandler --o DatabaseHandler : uses
    APIHandler --o QueryBuilder : uses
    APIHandler --o System : uses
    APIHandler --o HookHandler : uses

    HookHandler --o System : uses


Loading