Environment ready.

Minimal core. No magic. Just your code.

System status
PHP version
8.4.19
Environment
development
Current route
/
Controller
App\Controllers\NanofwController::index
HTTPS
yes
Session
active
What's in the core
  • Router
    GET/POST, parameterized routes
  • Controller
    Base class, view / json / redirect
  • View + Layout
    PHP templates, helper e(), multiple layouts
  • Request
    Method, path, get / post / input
  • Response
    Fluent API, HTML / JSON / redirect, security headers
  • Session
    Secure session management, httponly, samesite
  • CSRF
    Token with rotation, form helper
  • EnvLoader
    Loading .env, constant definition
Project structure
App/
├── Config/
│   └── routes.php          # route definitions
├── Controllers/
│   └── NanofwController.php
├── Core/                  # framework core
│   ├── App.php
│   ├── Controller.php
│   ├── Csrf.php
│   ├── EnvLoader.php
│   ├── HttpException.php
│   ├── Request.php
│   ├── Response.php
│   ├── Router.php
│   ├── Session.php
│   └── View.php
├── Models/
├── views/
│   ├── layouts/
│   │   ├── main.php        # main layout
│   │   └── blank.php       # clean passthrough
│   └── partials/
│       ├── head.php
│       └── meta.php        # all meta tags (OG, Twitter, SEO, PWA…)
├── bootstrap.php           # application bootstrap
└── .env                    # environment config

public/
├── index.php               # single entry point
└── .htaccess
        
Next steps
1
Add a route in App/Config/routes.php
'GET' => [
    '/'        => [HomeController::class, 'index'],
    '/about'   => [HomeController::class, 'about'],
    '/post/(:num:id)' => [BlogController::class, 'show'],
]
2
Create a Controller in App/Controllers/
class HomeController extends Controller
{
    public function index(): Response
    {
        return $this->view('home', ['title' => 'Home']);
    }
}
3
Create a View in App/views/home.php
<h1><?= e($title) ?></h1>
<p>This is my first view.</p>