languaojs / zap
A mini, lightweight, secure PHP framework with faster routing and simple syntax.
Requires
- php: ^8.0
- eftec/bladeone: ^4.19
- phpmailer/phpmailer: ^6.10
- psr/container: ^2.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Zap is a lightweight PHP framework for building web applications. This repository provides the framework and a minimal starter application; the homepage links to the hosted documentation.
Documentation: zap.zainurrahman.my.id
Requirements
- PHP 8.0 or later
- Composer
- A PDO driver for your configured database
- Node.js and npm only if using the optional Vite asset pipeline
Get started
Create a new project with Composer:
composer create-project languaojs/zap
Install dependencies and create your local environment file:
composer install
Copy-Item .env.example .env
Configure .env for your environment. Generate a unique application key and store it as APP_KEY:
php console generate --key
Run the development server from the project root:
php -S localhost:8000 dev-server.php
Open http://localhost:8000. The default app page is intentionally minimal. Add routes in app/Routes/, controllers in app/Controllers/, and views in app/Views/.
Or, use XAMPP or WAMP when your project works with databases.
Project structure
app/ Application routes, controllers, middleware, providers, and views
bootstrap/ Framework and application bootstrapping
CLI/ Console commands
config/ Framework configuration
core/ Reusable framework components
helpers/ Global helper functions
public/ Web root and public assets
resources/ Vite source assets
Optional frontend build
The app serves committed assets from public/assets by default. To use Vite, install the JavaScript dependencies and run the development server:
npm install npm install -D @tailwindcss/vite npm run dev
The Vite configuration imports @tailwindcss/vite, which must be present in development dependencies.
For framework setup, routing, controllers, views, CLI usage, utilities, Litewire, Flasher, and DataGrid, see the online documentation.
Buy my kids schoolbooks: Donate via PayPal