laika-framework

Project Structure

myproject/
├── .github/            # CI workflows
├── assets/             # public static assets (css/js/images)
├── docs/                # documentation (this folder)
├── lf-app/             # application code — controllers, models, pipelines, filters, ...
├── lf-boot/             # bootstrap files run on every request/command
├── lf-cache/           # framework/app cache
├── lf-config/          # config files (app, database, mail, redis, queue, auth, ...)
├── lf-hooks/            # hook definitions (Hook::add / apply)
├── lf-inc/              # shared includes, constants
├── lf-lang/             # language/translation files
├── lf-logs/              # log output
├── lf-routes/           # route definition files, auto-loaded
├── lf-storage/           # app-generated storage (secret key, queue JSON files, ...)
├── template/            # Twig view templates + public template assets
├── uploads/              # user-uploaded files
├── vendor/               # Composer dependencies
├── .gitignore
├── .htaccess            # Apache rewrite rules
├── composer.json
├── composer.lock
├── index.php            # web entry point
├── laika                # CLI executable (generated by laika-cli)
├── worker               # queue worker executable (generated by laika-queue, if installed)
├── LICENSE
├── nginx.conf           # sample nginx server config
└── README.md

lf-app/ — application code

The bulk of your code lives here, organized by responsibility. Every subdirectory maps to a PSR-4 namespace under App\:

Directory Namespace Contains
Controller/ App\Controller Route handlers
Model/ App\Model Laika\Model\Model subclasses (query builder)
Schema/ App\Schema Table definitions (Laika\Model\Contract\SchemaAbstract), run via php laika app:migrate
Pipeline/ App\Pipeline Pre-controller middleware
Filter/ App\Filter Post-controller middleware
Relay/ App\Relay RelayProvider classes — register app-level services into the container
Service/ App\Service Relay static proxy classes — the facades your app code calls

All of these are scaffoldable with the CLI — see CLI Reference.

Other key directories

Entry points