laikait / laika-cli
CLI generator tool for the Laika PHP Framework
Requires
- php: >=8.1
Requires (Dev)
- composer/composer: ^2.0
- dealerdirect/phpcodesniffer-composer-installer: ^1.1
- phpcompatibility/php-compatibility: dev-develop
- squizlabs/php_codesniffer: ^4.0.2
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-08-29 13:56:26 UTC
README
CLI generator for the Laika PHP MVC Framework.
Install
laika-cli ships as a dependency of laikait/laika-core, so every Laika
project already has it. If you started from laikait/laika-framework, the
wiring below is already in your composer.json and the executable is
generated for you on composer install, update, dump-autoload and
create-project — no manual step needed.
php laika help
Wiring it up manually
Composer only runs scripts declared by the root project, never by a dependency. So a project that wasn't created from the framework skeleton needs to call the generator itself:
"scripts": { "post-autoload-dump": [ "Laika\\Cli\\ScriptHandler::generate" ], "post-create-project-cmd": [ "Laika\\Cli\\ScriptHandler::generate" ] }
Keep ScriptHandler::generate first in post-autoload-dump if later
entries in that list invoke laika themselves — it has to exist before they
run.
What gets generated
| File | Platform | How you run it |
|---|---|---|
laika |
all | php laika help — or ./laika help on Linux/macOS |
One file, the same on every platform. It is a thin proxy into
vendor/laikait/laika-cli, so it always matches the version this project has
installed. It is rewritten only when its content actually changes, and
regenerates if you delete it.
Windows: run it as
php laika ..., not a barelaika .... There is deliberately nolaika.batshim — cmd and PowerShell resolve commands throughPATHEXTand will never execute an extensionless file. Alaika.batleft over from an earlier version is deleted on the nextcomposer install. If you want a barelaikacommand on Windows, use the global install below.
Versions before 3.0 shipped this package as a Composer plugin, which required an
allow-pluginsentry in every consuming project. That is no longer needed — you can drop"laikait/laika-cli": truefrom yourconfig.allow-plugins.
Global install
Prefer a single laika command available in every project? Install it
globally instead:
composer global require laikait/laika-cli
Make sure Composer's global vendor/bin directory is on your PATH (see the
Composer docs), then run
laika from inside any Laika project directory (or a sub-directory of one):
laika model:make User
The global binary detects the current project by walking up from your
working directory until it finds lf-boot/app.php — no php prefix needed.
This is the one case where a bare laika does work on Windows: the shims in
Composer's global vendor/bin are built by Composer itself, not by this
package, and it still writes a .bat there.
Usage
php laika route:make users php laika pipeline:make Auth php laika filter:make Log php laika model:make User --table=users --id=id --uid=uid php laika template:make admin/dashboard php laika service:make --name=Mailer --class=App\\Model\\MailerModel php laika controller:make UserController php laika route:list php laika pipeline:list php laika model:list php laika model:remove User php laika model:rename --old=User --new=Customer