<?php
/**
* MVC 全局函数库
*/

if(!function_exists('dump')){
    /**
     * 打印变量内容（不中断程序）
     * @param mixed ...$vars 可传多个变量
     * @return void
     */
    function dump(...$vars){
        echo '<pre style="background:#272822;color:#f8f8f2;padding:10px;margin:5px;border-radius:4px;text-align:left;white-space:pre-wrap;word-break:break-all;font-size:14px;line-height:1.5;">';
        foreach($vars as $var){
            var_dump($var);
        }
        echo '</pre>';
    }
}

if(!function_exists('dd')){
    /**
     * 打印变量内容并中断程序
     * @param mixed ...$vars 可传多个变量
     * @return void
     */
    function dd(...$vars){
        dump(...$vars);
        exit();
    }
}

if(!function_exists('viewSet')){
    /**
     * 给模板赋值（View::set 的全局快捷方式）
     * @param string|array $key
     * @param mixed $value
     * @return void
     */
    function viewSet($key, $value = null){
        View::set($key, $value);
    }
}

if(!function_exists('viewLoad')){
    /**
     * 加载子视图（View::load 的全局快捷方式），供模板内调用
     * @param string $view
     * @return void
     */
    function viewLoad($view){
        View::load($view);
    }
}

if(!function_exists('lg')){
    /**
     * 取多语言译文（Lang::get 的全局快捷方式），找不到 key 时原样返回 key
     * @param string $key
     * @return string
     */
    function lg($key){
        return Lang::get($key);
    }
}

if(!function_exists('clientIp')){
    /**
     * 当前客户端 IP，登录失败锁定等按 IP 统计的场景用
     * @return string
     */
    function clientIp(){
        return $_SERVER['REMOTE_ADDR'] ?? '';
    }
}
