strukt / strukt
Strukt Project
Installs: 222
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
pkg:composer/strukt/strukt
Requires
- php: ^8.1
- strukt/framework: v1.1.8-alpha
This package is auto-updated.
Last update: 2025-10-16 09:27:29 UTC
README
Getting started
composer create-project strukt/strukt:1.1.8-alpha --prefer-dist
Listing console commands:
./xcli -l
Generate Application
./xcli app:make payroll
The file structure generated should look as below:
app
└── src
└── Payroll
├── AuthModule
│ ├── Controller
│ │ └── User.php
│ ├── Form
│ │ └── User.php
│ ├── PayrollAuthModule.php
│ ├── Router
│ │ ├── Auth.php
│ │ └── Index.php
│ └── Tests
│ └── UserTest.php
└── User.php # Models are stored in the root of your app (i.e payroll)
There is a default module i.e AuthModule when you generate an application. Folders generated in a module (facets) can be changed in cfg/module.ini this also indicates part of alias used to access classes/objects. You'll also find a config file cfg/app.ini that holds the active application name.
When an application or module is created/generated it is loaded by running the command below, otherwise strukt won't detect it:
./xcli app:reload
The above command will create a App/Loader.php in the lib/ folder at the root of your project. This file should NEVER be edited because everything will be overwritten once the above command is rerun.
Generate Module
Command syntax for generating a module:
./xcli make:module <app_name> <module_name> <module_alias>
Example command:
./xcli make:module payroll human_resource hr
Now the file structure should look as below:
app/
└── src
└── Payroll
├── AuthModule
└── HumanResourceModule
Remember to run the app:reload command to load the module.
Execute Shell
strukt-strukt uses Psysh.
To drop into shell:
$ ./xcli shell:exec > ls Variables: $core > $core->get("au.ctr.User") = Payroll\AuthModule\Controller\User > $core->get("User") = Payroll\User { +username: null, +password: null, }
Cli
View providers and middlewares
./xcli sys:ls middlewares # view for console
View index.php middlewares
./xcli sys:ls middlewares --idx # view for index.php
You can also view providers by replacing middlewares
Cli Utility
Enable and disable commands , middlewares and providers
Example:
./xcli sys:util enable commands pub-make
Run Application
./xcli app:exec
Uses .env server_{var} variables to run application.
Notes
The make:router and make:module commands will not work on cli console until you run app:make and app:reload commands are run respectively.
IMPORTANT: The folder .tpl/ in the root of the project contains sgf/ folder that contains class template files used to generate the application modules and migrations. Ensure to NOT change it until you've understood strukt-generator
Have a good one!