この質問を投稿して申し訳ありません - 私は彼らが何度か尋ねられ、答えられたことを知っています (つまり、 https://stackoverflow.com/questions/1787561/call-to-a-member-function-on-a-non-objectなど) 、しかし、提案された解決策はどれもうまくいかないようです。これは私が持っているものです:
class Common {
private $model;
public function _construct() {
$this->model = Model::GetInstance();
//$this->model->GetUserCollection();
}
public function validateusername($username) {
$userlist = $this->model->GetUserCollection();
$result = true;
if ($username == false) {
$this->error = "Please enter username.";
$result = false;
}
}
}
// This is my DB model
class Model {
private static $instance = null;
private $conn = false;
private function __construct() {
if (!$this->connect()) {
print "Unable to connect to database!";
exit;
}
}
public function connect() {
if ($this->conn == false) {
$this->conn = mysql_connect(DBHOST, DBUSER, DBPASS);
if ($this->conn) {
if (!mysql_select_db(DBNAME, $this->conn)) {
print "DB Connection Error!";
exit;
}
}
}
return $this->conn;
}
public function GetUserCollection() {
return UserCollection::GetInstance();
// return new UserCollection();
}
public static function GetInstance() {
if (!self::$instance) {
self::$instance = new Model();
}
return self::$instance;
}
}
なぜそれはまさにこの行です: $userlist = $this->model->GetUserCollection(); モデルの新しいインスタンスを返しているにもかかわらず、エラーがスローされます。事前に感謝します、JJ。