首页 > 编程语言 >thinkphp 实例化模块对象

thinkphp 实例化模块对象

时间:2023-01-06 14:47:02浏览次数:42  
标签:newInstance args module fileName 实例 param 模块 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);
    }
}

 

标签:newInstance,args,module,fileName,实例,param,模块,thinkphp
From: https://www.cnblogs.com/kevin-yang123/p/17030409.html

相关文章

  • PhoneGap插件开发实例
    目前PhoneGap虽然提供了很多的API,但是我们也很容易发现,他有很多地方不能满足我们的需求,比如发短信。我也将介绍如何开发一个针对PhoneGap发短信的Plugin。(Android版本)。1、......
  • 重写 json 模块的类,遇到日期特殊处理(含解决中文展示乱码)
    解决字典里面有datatime格式需要进行序列化https://blog.51cto.com/linyingyong/4989856 序列化https://blog.csdn.net/weixin_51111267/article/details/124952698......
  • 河北稳控科技振弦采集模块的频率值与温度值的修正
    河北稳控科技振弦采集模块的频率值与温度值的修正 此功能在SF3.51版本时增加。固件版本V3.51修改固件版本号为V3.51_2200827。增加了频率和温度的多项式修正参数和......
  • nginx编译模块详解
    nginx编译模块详解 –prefix=指向安装目录–sbin-path指向(执行)程序文件(nginx)–conf-path=指向配置文件(nginx.conf)–error-log-path=指向错误日志目录–pid-path......
  • 一步一步实现若依框架--01建立多模块项目
    在项目中使用到了若依,想从头实现一下。思路就是把项目中涉及到的知识内容单独拎出来理解和做测试,然后再合到系统里去,重点的地方会将涉及到的知识进行总结和扩展。顺序......
  • 火山引擎DataLeap数据调度实例的 DAG 优化方案
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群实例DAG介绍DataLeap是火山引擎自研的一站式大数据中台解决方案,集数据集成、开发、运......
  • 火山引擎DataLeap数据调度实例的 DAG 优化方案
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群实例DAG介绍DataLeap是火山引擎自研的一站式大数据中台解决方案,集数据集成、开发、运维、治......
  • python-自定义模块及导入方法
    1.自定义模块​ 一个较大的程序一般应分为若干个程序块,若个程序块称为模块,每个模块用来实现一部分特定的功能。​ 这样做的目的是为了将代码有组织的存放在一起,方便管......
  • 极客编程python入门-内建模块base64
    base64Base64是一种用64个字符来表示任意二进制数据的方法。用记事本打开exe、jpg、pdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,......
  • DC-DC直流隔离线性可调电源模块高压稳压输出0-80V/150V/220V/300V/400V/800V/1000V
    特点 效率高达75%以上 1*2英寸标准封装 单电压输出 可直接焊在PCB上 工作温度:-40℃~+75℃ 阻燃封装,满足UL94-V0要求 温度特性好 电压控制输出,输出电压随控制电......