그것이 :
class Person {
private static $instance = null;
private $db;
private static $data;
private function __construct() {
try {
$pdo_param = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
);
$this->db = new PDO("mysql:host=YOUR_HOST_NAME;dbname=YOUR_DB_NAME", "YOUR_USERNAME", "YOUR_PASSWORD", $pdo_param);
}
catch(PDOException $e) {
die($e->getMessage());
}
}
private static function getInstance() {
if (self::$instance == null) {
self::$instance = new self();
}
return self::$instance;
}
public static function find($id) {
try {
$instance = self::getInstance();
$result = $instance->db->query(YOUR_SQL_QUERY);
self::$data = (object)$result->fetch();
return self::$data;
}
catch(PDOException $e) {
die($e->getMessage());
}
}
}
$p = Person::find(1);
echo $p->name;
좋아는 ... 질문이 있습니까? 발생한 문제는 무엇입니까? – Jite
'find'가'personne'의 정적 메소드라면'new'를 사용하지 않을 것입니다. '$ p = new personne :: find (1);'어쨌든 오류가 발생합니다. – Sugar
예 제가 동의합니다 Clément 내가 지금 편집했습니다 –