Micro-ORM/index.php

39 lines
806 B
PHP

<?php
interface ISqlBase {
public function Get(): string;
//public function Insert(): string;
//public function Update(): string;
//public function Delete(): string;
}
abstract class BaseModel {
protected $sql;
public function __construct(ISqlBase $sql) {
$this->sql = $sql;
}
public static function Get(int $id) {
return get_called_class();
$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);