2021-02-26 21:00:00 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
interface ISqlBase {
|
|
|
|
public function Get(): string;
|
|
|
|
//public function Insert(): string;
|
|
|
|
//public function Update(): string;
|
|
|
|
//public function Delete(): string;
|
|
|
|
}
|
|
|
|
|
|
|
|
class BaseModel {
|
|
|
|
protected $sql;
|
|
|
|
|
|
|
|
public function __construct(ISqlBase $sql) {
|
|
|
|
$this->sql = $sql;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static function Get(int $id) {
|
2021-02-26 21:04:06 +00:00
|
|
|
return self::class;
|
2021-02-26 21:00:00 +00:00
|
|
|
$stmt = $pdo->prepare('SELECT id, name FROM users WHERE id=?');
|
|
|
|
$stmt->execute([$id]);
|
|
|
|
return $stmt->fetchObject(__CLASS__);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class JobSql implements ISqlBase {
|
|
|
|
public function Get(): string {
|
|
|
|
return "";
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
class Job extends BaseModel {
|
|
|
|
public function __construct() {
|
|
|
|
parent::__construct( new JobSql() );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
echo Job::Get(10);
|