したがって、php im では、クラスの作成時にデータベースに接続するデータベース クラスでパブリック変数を取得しようとしています。そのようです -
<?php
class database {
public $_link;
public function __construct (){
$this->_link = new PDO("mysql:host=localhost; dbname=swinkidc_student", "swinkidc_student", "");
}
}
と...
<?php
class user{
private $db;
public function __construct() {
$this->db = new database;
}
/**
* Returns the ID of a user.
* @param string $user
* @return mixed
*/
public function getUserID($user){
$query = $_link->prepare("SELECT `user_id` FROM `users` WHERE `username` = :user");
$query->bindParam(":user", $user);
$query->execute();
$result = $query->fetch(PDO::FETCH_ASSOC);
return $result['user_id'];
}
/**
* Checks if given user is active.
* @param string $user
* @return bool Returns true/false if user is active.
*/
public function isUserActive($user){
}
}
ユーザーでデータベースを拡張した場合、_link をプライベートにすれば明らかに参照でき、それは機能しますが、そのようなものを取得するためだけに継承する必要はないと思います..
私が取得しようとするたびに: Fatal error: Call to a member function prepare() on a non-object in /home/swinkidc/public_html/studentreach/core/authentication/user.php on line 18
前述のように、継承の方法を試してみると、それがこのようなことを行う素晴らしい方法だとは思えません。
何か提案はありますか?
ありがとう!