抽象类中的新pdo
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了抽象类中的新pdo相关的知识,希望对你有一定的参考价值。
大家好,这是我在这个着名且有用的网站上的第一个问题。我是PDO和对象php的新手。我也是法国人,所以我的英语并不完美。
这是一个简单的代码,但它不起作用。它出什么问题了 ?
Model.php
require_once('config.php');
abstract class Model
{
protected static $db = null;
public function __construct()
{
$this->connexion();
}
private function connexion()
{
$db_options = array(
PDO::mysql_ATTR_INIT_COMMAND => "SET NAMES utf8",
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING
);
if(is_null(self::$db))
{
try
{
self::$db = new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME, DBUSER, DBPASS, $db_options);
}
catch (PDOException $e)
{
die("Erreur de connexion : " . $e->getMessage());
}
}
}
}
homeModel.php
require_once('Model.php');
class HomeModel extends Model
{
private $title;
public function __construct()
{
$this->getTitle();
}
private function getTitle()
{
$sql = parent::$db->query("SELECT title FROM table");
$sql->execute();
$sql->fetchAll();
$sql->closeCursor();
}
}
在继承类中执行公共函数parent :: __ construct()时,我有这样的错误:解析错误:语法错误,意外的'::'(T_PAAMAYIM_NEKUDOTAYIM),期待在第10行的HomeModel.php中的'('
我将构造函数视为默认操作。因此,当子类调用主类时,我希望主类自动执行构造函数中定义的操作。
答案
你需要$ this-> getTitle();到一个财产
$this->title = $this->getTitle();
并且像上面提到的那样调用父构造函数
parent::__construct();
$this->title = $this->getTitle();
以上是关于抽象类中的新pdo的主要内容,如果未能解决你的问题,请参考以下文章
如何将 View 类中的代码片段移动到 OnAppearing() 方法?