PHP code example of zeretei / php-core

1. Go to this page and download the library: Download zeretei/php-core library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

zeretei / php-core example snippets


// enable strict type
declare(strict_types=1);

// start a session
if (session_status() === PHP_SESSION_NONE) {
    session_start();
}

use Zeretei\PHPCore\Application;
use Zeretei\PHPCore\Http\Request;

// import autoloader
ws', $app->ROOT_DIR . 'app/Views');
$app->bind('path.routes', $app->ROOT_DIR . 'app/routes.php');
$app->bind('path.databases', $app->ROOT_DIR . 'app/Databases');

// run application
$app->run(Request::uri(), Request::method());

use \Zeretei\PHPCore\Application;

Application::get('config'); // app config
Application::get('router'); // router instance
Application::get('request'); // request instance
Application::get('response'); // response instance
Application::get('database'); // database instance
Application::get('session'); // session instance

// routes.php
use \Zeretei\PHPCore\Http\Router;
use \App\Controller\UserController;

return function (Router $router) {
    // set router host
    $router->setHost('simplewebsite');
    // get request
    $router->get('/path', fn () => 'Hello World!');
    // post request
    $router->post('/login', [UserController::class, 'login']);
    // put request
    $router->put();
    // patch request
    $router->patch();
    // delete request
    $router->delete();
}

// execute a sql statement
Application::get('database')->query($sql, $params);
// execute an update sql statement
Application::get('database')->update($sql, $params);
// execute an delete sql statement
Application::get('database')->delete($sql, $params);
// execute a select sql statement
Application::get('database')->fetch($sql, $params);
// execute a select all sql statement
Application::get('database')->fetchAll($sql, $params);

class User extends Model {}

$user = new User();

$user->insert($params)
$user->update($id, $params)
$user->delete($id, $key)
$user->select($id, $key)
$user->all()

class UserController extends Controller {

    public __construct() {
        // register a middleware
        $this->registerMiddleware(new AuthMiddleware(['delete']));
    }

}

class AuthMiddleware extends Middleware {
    // execute a middleware
    public function execute($action) {
        if (Application::isGuest()) {
            throw new \Exception("403 - Unauthorized");
        }
    }
}