class Connection
{
private $_dbcc;
public function getConnection()
{
return $this->_dbcc;
}
public function __construct()
{
$this->_dbcc = new PDO( "mysql:host=localhost;dbname=db1;",
"root","pass1");
}
}
class Registration
{
private $_username;
private $_dbc;
public function __construct($un)
{
$this->_username = $un;
$this->_dbc = new Connection();
}
public function Fn_User_Exist()
{
$qry = "SELECT * FROM CMT_Users WHERE Username=@Username";
$result = $this->_dbc->getConnection()->prepare($qry);
$result->bindParam("@Username",$this->_username);
$result->execute();
print $result->rowCount();
}
}
Я также изменил класс Connection для создания объекта PDO в конструкторе и добавил метод getConnection для доступа к объекту PDO.
Вы должны использовать ключевое слово __construct
для конструктора, присваивая имяконструктор в качестве имени класса является старым синтаксисом и усложняет редактирование кода.
Последнее замечание, это зависит от людей, но я предпочитаю добавлять защищенные и закрытые свойства или методы с подчеркиванием _
,таким образом, мы можем легко определить, доступен ли метод / свойство за пределами класса или нет.Вам следует избегать использования таких переменных, как Result
, потому что PHP чувствителен к регистру, поэтому Result
не равен result
, поэтому лучше избегать опечаток, чтобы имя переменной оставалось в нижнем регистре (аппартируйте, если вы хотите использовать camelCase).