如何在Codeigniter构造函数中从子类实现受保护的父类字段

问题描述 投票:0回答:1

我有一个基本控制器,它有基本方法

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class MY_Championship extends CI_Controller {

  protected $championship_id;

  public function __construct($_championship_id)
  {
      parent::__construct();
      $championship_id = $_championship_id;
  } 

  public function results($page)
  {
     //Some code here
  }


}

当我尝试在另一个控制器中实现My_Championship类时,即使我在构造函数中传递参数'1',输出也是空的

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

require_once("application/core/MY_Championship.php");

class Eurobasket2017 extends MY_Championship {

  public function __construct()
  {
      parent::__construct(1);
      file_put_contents("test.txt", $this->championship_id);    
  }
}

主要的问题是,根据我给构造函数的哪个参数,它会更改数据库中的记录:例如,如果我给参数1加载eurobasket游戏,如果我给参数2它加载nba游戏等等。

php codeigniter
1个回答
3
投票

MY_Championship类构造函数不会更新自己的实例championship_id属性

更改

$championship_id = $_championship_id;

$this->championship_id = $_championship_id;

如果你不这样做,那么一旦父构造函数完成,$ championship_id var就会丢失。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.