1. Go to this page and download the library: Download litephp/app 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/ */
use App\Controllers\HomeController;
use Core\Facades\Route;
// Basic routes
Route::get('/', [HomeController::class, 'index']);
Route::post('/login', [AuthController::class, 'login'])->middleware('throttle:5,1');
// Route groups
Route::group(['middleware' => ['auth']], function () {
Route::get('/dashboard', [DashboardController::class, 'index']);
Route::get('/profile', [UserController::class, 'show']);
});
// API routes
Route::group(['prefix' => '/api', 'middleware' => ['api']], function () {
Route::get('/users', [UserController::class, 'index']);
});
namespace App\Controllers;
use Core\Controller;
class HomeController extends Controller
{
public function index(): never
{
view('home', [
'title' => 'Welcome',
]);
}
}
#[RegisterMiddleware(group: 'web', alias: 'auth')]
class AuthMiddleware implements Middleware
{
public function handle(Request $request, Response $response, callable $next): mixed
{
if (!Session::isLoggedIn()) {
return $response->redirect('/login');
}
return $next($request, $response);
}
}
// Check login state
Session::isLoggedIn();
// Get current user
Session::user();
// Log out
Session::logout();
bash
php lite env:init
php lite key:generate
php lite jwt:secret