• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

【ThinkPHP】Model基类contruct方法中的_initialize移动到末尾会产生什么影响?

php 搞代码 4年前 (2022-01-23) 18次浏览 已收录 0个评论
文章目录[隐藏]

版本:ThinkPHP 3.1.3
问题:ThinkPHP 中如果在自定义Model里面定义了 _initialize(),那么在这个 _initialize 中无法使用 $this->来查询数据。
我的想法:将Model基类中 __contruct 方法中的 _initialize 移动到该方法的最末尾,这样会产生什么影响?求分析!

文件/ThinkPHP/Lib/Core/Model.class.php,Model 基类__contruct 中的 $this->_initialize 移动到 $this->db… 后会有何影响?

    /**     * 架构函数     * 取得DB类的实例对象 字段检查     * @access public     * @param string $name 模型名称     * @param string $tablePrefix 表前缀     * @param mixed $connection 数据库连接信息     */    public function __construct($name='',$tablePrefix='',$connection='') {        // 模型初始化        $this->_initialize();        // 获取模型名称        if(!empty($name)) {            if(strpos($name,'.')) { // 支持 数据库名.模型名的 定义                list($this->dbName,$this->name) = explode('.',$name);            }else{                $this->name   =  $name;            }        }elseif(empty($this->name)){            $this->name =   $this->getModelName();        }        // 设置表前缀        if(is_null($tablePrefix)) {// 前缀为Null表示没有前缀            $this->tablePrefix = '';        }elseif('' != $tablePrefix) {            $this->tablePrefix = $tablePrefix;        }else{            $this->tablePrefix = $this->tablePrefix?$this->tablePrefix:C('DB_PREFIX');        }        // 数据库初始化操作        // 获取数据库操作对象        // 当前模型有独立的数据库连接信息        $this->db(0,empty($this->connection)?$connection:$this->connection);        //假如把_initialize移动到这里会产生什么影响?        //$this->_initialize();<strong style="color:transparent">本&文来源gao@daima#com搞(%代@#码网@</strong><textarea>搞gaodaima代码</textarea>    }

回复讨论(解决方案)

产生的影响就是:框架运行出错。

产生的影响就是:框架运行出错。

为什么会这样,

initialize 的本意是初始化
而 _initialize 既无参数也无返回,显然并不能干预预定流程的执行
所以放在哪里都无所谓

还真是没做任何操作,估计是用来做调试用得。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:【ThinkPHP】Model基类contruct方法中的_initialize移动到末尾会产生什么影响?
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址