zalliant / ethernize
Application skeleton for Zalliant Ethernize (experimental beta).
Requires
- php: ^8.2
- zalliant/ethernize-core: ^0.1.0-beta.1
- zalliant/ethernize-pulse: ^0.1.0-beta.1
- zalliant/ethernize-shield: ^0.1.0-beta.1
- zalliant/ethernize-strata: ^0.1.0-beta.1
- zalliant/ethernize-weave: ^0.1.0-beta.1
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-20 22:28:17 UTC
README
A small, working Ethernize application. Experimental beta: the API can change between betas, so do not use it in production yet.
Portuguese version: README.pt-BR.md.
Requirements
- PHP 8.2 or newer with the
filter,hash,json,mbstring,ctypeandpdoextensions - Composer 2
- No Node.js
Start
composer create-project zalliant/ethernize my-project --stability=beta
cd my-project
php ethernize run
Open the address it prints (http://127.0.0.1:8000). The page you see is rendered by Weave from apps/app/resources/views/pages/welcome.weave.
Commands
php ethernize run # development server of the only application php ethernize run app --port=9000 # a named application on another port php ethernize help # list commands php ethernize --version
run starts PHP's built-in server for development only, with APP_ENV=local and debug on. It listens on 127.0.0.1 and stops with Ctrl+C. Applications are the folders inside apps/ that have a public/index.php; add another folder there and run finds it. Default ports: 8080 for aether, 8081 for website, 8000 for any other name.
What is here
apps/app/
public/index.php the only file the web server exposes
routes/web.php routes (controller classes, not closures)
src/Controllers/ your code, namespace App\
resources/views/ Weave templates
config/ configuration (one file per area)
.env environment (created from .env.example; never commit it)
var/ cache, sessions and other runtime files (not committed)
ethernize the command line
bin/manifest.php builds the Manifest for production
bin/strata.php database migrations (when Strata is enabled)
The framework itself lives in vendor/zalliant/. You never edit it.
Modules
Ethernize is modular. Only Weave is on. The others are installed but not started until you list them in apps/app/config/app.php:
| Module | Provider | For |
|---|---|---|
| Pulse | Ethernize\Pulse\PulseProvider |
reactive components driven by the server |
| Strata | Ethernize\Strata\StrataProvider |
database access and migrations |
| Shield | Ethernize\Shield\ShieldProvider |
sessions, login, authorization, CSRF |
Shield never turns authentication on by itself. You protect routes explicitly. Without it, no session is created and no cookie is sent. Pulse needs a signing key outside local development (PULSE_KEY, see .env.example). Each module has a ready-to-edit file in apps/app/config/.
Production checklist
- Copy only the files, run
composer install --no-dev --optimize-autoloader. - Create
.envoutside version control withAPP_ENV=production,APP_DEBUG=false, yourAPP_URLandTRUSTED_HOSTS. - Point the web server at
apps/app/public, nothing else. php bin/manifest.php build, thenphp bin/manifest.php check, and run with the process environment variableAPP_MANIFEST=required.- Reload PHP so OPcache drops the old files.
Updating
composer update "zalliant/*". Read the release notes first: during the beta, minor versions can change the API.