страница class / dbConnect.php
class dbConnect {
/*
* initiate mysql database host,username,password,database name
*/
private $host;
private $dbName;
private $uname;
private $upass;
private $con;
public function __construct($host, $database, $userName, $password) {
$this->host = $host;
$this->dbName = $database;
$this->uname = $userName;
$this->upass = $password;
$this->connectDB();
}
public function connectDB() {
/*
* @var $dsn mean data source name for pdo connection
*/
$dsn = "mysql:host=" . $this->host . ";dbName=" . $this->dbName;
try {
$this->con = new PDO($dsn, $this->uname, $this->upass);
} catch (Exception $e) {
echo $e->getMessage();
}
}
}
class/sampleView.php
/*
* include dbConnect class for this SampleView Class Page
*/
require_once './dbConnect.php';class sampleViews extends dbConnect{
function viewUsers(){
/*
* dbConncect Class Connection variable access
*/
$connection = $this->con;
}
}
Это правильно? Я не могу получить доступ к dbConnect Class $ con varibale, используя метод $ this-> with the sampleView Class
и может быть в состоянии сделать другое расширение класса местоположения, включая страницу таким образом .. Помогите Plezzzz
Вы не можете получить доступ private
переменные даже при расширении родительского класса. Вы должны изменить его на protected
:
protected $con;
Вам также нужно будет создать родительский класс, иначе он никогда не будет создавать экземпляр родительского (расширенного) класса.
function __construct() {
parent::__construct($host, $username, $password, $db);
}
Выше будет внутри вашего class SimpleViews extends dbConnect {....
учебный класс
Страница dbConnect
изменено
protected $host;
protected $dbName;
protected $uname;
protected $upass;
protected $con;
и страница SampleView
public function __construct() {
parent::__construct('localhostr', 'test', 'root', '');
}
function chkConnection() {
/*
* dbConncect Class Connection variable access
*/
$dbcon = $this->con;
if ($dbcon) {
echo "successfully Connect database";
} else {
echo "sorry Could not be connect databsae";
}
}
Кто-нибудь исправит мой код?