PHP code example of stilmark / base

1. Go to this page and download the library: Download stilmark/base 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/ */

    

stilmark / base example snippets



Stilmark\Base\Env;
use Stilmark\Base\Router;

// Load environment variables
Env::load(__DIR__ . '/.env');

// Initialize and dispatch routes
$router = new Router();
$router->addRoute('GET', '/', 'BaseApp\\Controller\\HomeController@index');
$router->dispatch();


namespace BaseApp\Controller;

use Stilmark\Base\Controller;

class HomeController extends Controller
{
    public function index()
    {
        return $this->json([
            'message' => 'Welcome to Stilmark Base!',
            'timestamp' => date('c')
        ]);
    }
}

use Stilmark\Base\Env;

Env::load('.env');
$apiUrl = Env::get('API_URL', 'https://api.default.com');
Env::set('RUNTIME_FLAG', true);

use Stilmark\Base\Request;

$request = new Request();
$userId = $request->get('user_id');
$jsonData = $request->json();
$uploadedFile = $request->file('avatar');

use Stilmark\Base\Auth;

$auth = new Auth();
$auth->callout(); // Redirect to Google OAuth

// In callback route:
$user = $auth->callback($request);
$_SESSION['user'] = $user;

use Stilmark\Base\Session;

// Configure session security (before session_start)
Session::configure([
    'cookie_secure' => true,
    'cookie_samesite' => 'Strict',
]);

session_start();

// Set and get session data
Session::set('user_id', 123);
$userId = Session::get('user_id');

// Flash messages
Session::flash('success', 'Login successful!');
$message = Session::getFlash('success'); // Retrieved once

use Stilmark\Base\Request;
use Stilmark\Base\CsrfMiddleware;

session_start();

// Generate token for forms
$request = new Request();
$csrfToken = $request->generateCsrfToken();

// Validate with middleware
$csrfMiddleware = new CsrfMiddleware(['https://example.com']);
if (!$csrfMiddleware->handle()) {
    http_response_code(403);
    exit('CSRF validation failed');
}

use Stilmark\Base\Jwt;

// Generate a JWT token
$token = Jwt::generate([
    'user_id' => 123,
    'email' => '[email protected]'
]);

// Validate and decode the token
try {
    $decoded = Jwt::validate($token);
    echo "User ID: " . $decoded->user_id;
} catch (Exception $e) {
    echo "Invalid token: " . $e->getMessage();
}