thinkphp 实例化模块对象

/**
 * 实例化service对象
 * @param string $fileName 类名或标识
 * @param string $module //应用模块名
 * @param array  $args 构造参数
 * @param bool   $newInstance 是否每次创建新的实例
 * @return mixed
 */
if (!function_exists('instantial_service')) {
    function instantial_service($fileName, $module = '', $args = [], $newInstance = false)
    {
        $module = (empty($module)) ? app('http')->getName() : $module; //应用模块名
        $class = 'app\\' . $module . '\\service\\' . $fileName; //应用独立存在相关类
        return \think\Container::pull($class, $args, $newInstance);
    }
}
/**
 * 实例化model对象
 * @param string $fileName 类名或标识
 * @param string $DbModule 模型内模块
 * @param string $module //应用模块名
 * @param array  $args 构造参数
 * @param bool   $newInstance 是否每次创建新的实例
 * @return mixed
 */
if (!function_exists('instantial_model')) {
    function instantial_model($fileName, $DbModule = '', $module = '', $args = [], $newInstance = false)
    {
        $fileName = ($DbModule !== '') ? $DbModule . '\\' . $fileName : $fileName;

        $module = (empty($module)) ? app('http')->getName() : $module; //应用模块名

        $class = 'app\\' . $module . '\model\\' . $fileName; //应用独立存在相关类
        return \think\Container::pull($class, $args, $newInstance);
    }
}

 

posted on 2023-01-06 14:34  kevin_yang123  阅读(42)  评论(0编辑  收藏  举报