У меня есть основной класс, который инициализирует другой класс в функции основного класса, и мне нужно получить переменную (в данном случае $this->db
) из основного класса в этот другой класс.Например, у меня есть основной класс Wordle_Admin
:
class Wordle_Admin
{
public function __construct()
{
$this->db = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
}
public function views()
{
include 'Wordle_Admin_Views.php';
$wsa = new Wordle_Admin_Views();
$view = @$_GET['view'];
$id = @$_GET['id'];
$type = @$_GET['type'];
$action = @$_GET['action'];
$msg = @$_GET['msg'];
if( !empty( $view ) && method_exists( $wsa, $view ) ):
$wsa::$view($id, $type, $action, $msg);
elseif( !empty( $view ) && !method_exists( $wsa, $view ) ):
echo'View does not exist.';
else:
$wsa::index($id, $type, $action, $msg);
endif;
}
}
И у меня есть другой класс:
class Wordle_Admin_Views extends Wordle_Admin
{
public function __construct()
{
parent::__construct();
}
public function index( $id = "", $type = "", $action = "", $msg = "" )
{
$this->db->query('SELECT * FROM wordle_post');
}
}
Я не могу использовать $this->db
в Wordle_Admin_Views
, он возвращает:
Неустранимая ошибка: использование $ this, когда не в контексте объекта в C: \ Server \ wordle \ w-includes \ Wordle_Admin_Views.php в строке 22 * 1014 *
Итаквопрос, как я могу передать переменную из родительского класса в класс?Мы ценим любую помощь, указатели на то, что делать по-другому, также принимаются с открытыми руками.