私はクラス名のDBConnectionを持っている:staticメソッド
class DBConnection {
public function __construct() {}
public static function getConnection() {
try{
$conn = new PDO('mysql:host='.HOST.'; dbname='.DATABASENAME.'; charset=utf8', USERNAME, PASSWORD);
return $conn;
}catch(PDOException $e){
echo("Connect to database failed");
}
}
}
とクラス名bookDA:クラスのDBConnection内部 "のgetConnection"、そして中:
require_once("DBConnection.php");
require_once("../entity/book.php");
class bookDA {
private $conn = DBConnection::getConnection();//This line didn't work
public function getAll() {
$bookList = array();
$stmt = $this->conn->prepare("SELECT * FROM booklist");
$stmt->execute();
while($result = $stmt->fetch(PDO::FETCH_ASSOC)) {
$bookList[] = new book($result["bookId"], $result["bookName"], $result["bookPrice"]);
}
return bookList;
}
public function getByName($name) {
$bookList = array();
$stmt = $this->conn->prepare("SELECT * FROM booklist WHERE LIKE :name");
$stmt->bindValue(":name", "%".$name."%", PDO::PARAM_STR);
$stmt->execute();
while($result = $stmt->fetch(PDO::FETCH_ASSOC)) {
$bookList[] = new book($result["bookId"], $result["bookName"], $result["bookPrice"]);
}
return bookList;
}
}
私は、静的メソッドを作成しますクラス: "bookDA"私はそれを呼び出すが、それは動作しませんでした。だから私はbookDAクラスの外で動作しなかった行と、この作品をチャンピオンのように置こうとします。なぜ誰かが私に言うことができますか?
あなたが言いたい表現の種類。私はこのようなフィールドのデフォルト値を設定しようとします:private $ testField = 1 + 1とこの作業。 – khoibn
詳細を提供するために私の答えを更新しました。 PHP 5.6の後に定数式だけが有効です – Burak
ありがとうございます。今分かります。 – khoibn