【ThinkPHP】Model基本クラスの__constructメソッドの_initializeを最後に移動するとどのような影響がありますか?
バージョン: ThinkPHP 3.1.3
問題: _initialize() が ThinkPHP のカスタム モデルで定義されている場合、この _initialize のデータをクエリするために $this-> を使用できません。
私のアイデア: Model 基本クラスの __contruct メソッドの _initialize をメソッドの最後に移動すると、どのような影響がありますか?分析してください!
File/ThinkPHP/Lib/Core/Model.class.php、モデル基本クラス __contruct の $this->_initialize が $this->db に移動された後の影響は何ですか...?
<br /> /**<br /> * 架构函数<br /> * 取得DB类的实例对象 字段检查<br /> * @access public<br /> * @param string $name 模型名称<br /> * @param string $tablePrefix 表前缀<br /> * @param mixed $connection 数据库连接信息<br /> */<br /> public function __construct($name='',$tablePrefix='',$connection='') {<br /> // 模型初始化<br /> $this->_initialize();<br /><br /> // 获取模型名称<br /> if(!empty($name)) {<br /> if(strpos($name,'.')) { // 支持 数据库名.模型名的 定义<br /> list($this->dbName,$this->name) = explode('.',$name);<br /> }else{<br /> $this->name = $name;<br /> }<br /> }elseif(empty($this->name)){<br /> $this->name = $this->getModelName();<br /> }<br /> // 设置表前缀<br /> if(is_null($tablePrefix)) {// 前缀为Null表示没有前缀<br /> $this->tablePrefix = '';<br /> }elseif('' != $tablePrefix) {<br /> $this->tablePrefix = $tablePrefix;<br /> }else{<br /> $this->tablePrefix = $this->tablePrefix?$this->tablePrefix:C('DB_PREFIX');<br /> }<br /><br /> // 数据库初始化操作<br /> // 获取数据库操作对象<br /> // 当前模型有独立的数据库连接信息<br /> $this->db(0,empty($this->connection)?$connection:$this->connection);<br /><br /><br /> //假如把_initialize移动到这里会产生什么影响?<br /> //$this->_initialize();<br /> }<br /><br />