Micro-ORM/index.php

39 lines
790 B
PHP
Raw Normal View History

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);