38 lines
972 B
PHP
38 lines
972 B
PHP
<?php
|
|
|
|
class App
|
|
{
|
|
public function __construct()
|
|
{
|
|
$config = require __DIR__ . '/../config.php';
|
|
$this->config = $config;
|
|
}
|
|
|
|
// Grab model
|
|
public function model(string $model): object
|
|
{
|
|
// Require model file
|
|
require __DIR__ . '/../model/' . $model . '.php';
|
|
// Instantiate model
|
|
return new $model();
|
|
}
|
|
|
|
// Render given view
|
|
public function view(string $view, array $data = []): void
|
|
{
|
|
// Import variables into the current symbol table from an array
|
|
extract($data);
|
|
// Require view file
|
|
require __DIR__ . '/../view/' . $view . '.php';
|
|
}
|
|
|
|
// Turn data array into JSON response
|
|
public function api(array $data, int $status_code = 200): void
|
|
{
|
|
// Set headers
|
|
http_response_code($status_code);
|
|
header('Content-type: application/json');
|
|
// Convert and respond with data
|
|
echo json_encode($data);
|
|
}
|
|
} |