所以我有一个扩展另一个类的类。这是我的代码如下。主要类是模型。然后我有另一个扩展Method的类create_user_model。
//Model Class//
class Model {
private $connection;
private $connstring;
public function __construct(){
$this->connection = new createConnection(); //create connection object
$this->connstring = $this->connection->connectToDatabase();
}}
然后我有我的创建用户模型扩展模型。
/// Create_User_Model///
class Create_User_Model extends Model {
private $connection;
private $connstring;
private $sql;
function __construct() {
parent:: __construct();
}
public function create_user(){
//Want to get rid of these two lines and get $this->connstring from constructor//
$this->connection = new createConnection(); //create connection object
$this->connstring = $this->connection->connectToDatabase();
$sql = "INSERT INTO customers (first_name, last_name)
VALUES ('John', 'James')";
if ($this->connstring->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $this->connstring->error;
}
}
}
注意我是如何在Create_User_Model的构造函数中构造Model的。所以现在我应该在函数create_user中访问变量$ this-&gt; connection和$ this-&gt; connstring(或者至少我想到的),但我不知道如何访问它们。你可以看到我必须在函数create_user中再次创建一个连接对象,然后创建一个connstring,然后就没有构造函数了。我想知道如何从构造函数中获取此信息,以便我可以在create user函数中取出前两行。希望我所要求的是有道理的。谢谢你的阅读。
答案 0 :(得分:1)
私有变量只能在声明它们的类中使用。 受保护的变量可以在它们自己的类和任何类扩展中使用。 公共变量可以从任何地方访问。
将模型中的属性从私有更改为受保护。