Skip to content

afandisini/AitiCore

Repository files navigation

AitiCore Flex

AitiCore Flex - Lightweight & Secure PHP Framework

AitiCore Flex Preview

AitiCore Flex adalah framework PHP fullstack baseline keamanan modern: escape output default, CSRF middleware untuk route web, dan session hardening.

Requirements

  • PHP 8.2+
  • Composer
  • ext-pdo, ext-mbstring, ext-openssl

Quick Start

Linux/macOS:

cp .env.example .env
composer install
php aiti key:generate
php aiti serve

Windows CMD:

copy .env.example .env
composer install
php aiti key:generate
php aiti serve

Windows PowerShell:

Copy-Item .env.example .env
composer install
php aiti key:generate
php aiti serve

Buka http://127.0.0.1:8000.

Folder Structure

app/
  Config/
  Controllers/
  Middleware/
  Requests/
  Services/
  Models/
  Views/
  Helpers/
bootstrap/
public/
routes/
storage/
system/
tests/

CLI

Semua tool resmi lewat php aiti ....

php aiti --version
php aiti list
php aiti serve
php aiti route:list
php aiti key:generate
php aiti migrate update
php aiti migrate drop
php aiti preset:bootstrap
php aiti optimize
php aiti config:clear
php aiti route:clear
php aiti view:clear

Laravel Mapping

Laravel AitiCore Flex
php artisan optimize:clear php aiti optimize
php artisan config:clear php aiti config:clear
php artisan route:clear php aiti route:clear
php artisan view:clear php aiti view:clear
php artisan migrate php aiti migrate update
php artisan migrate:fresh php aiti migrate drop

Routing Notes

  • php aiti serve sekarang selalu menjalankan router.php, jadi semua request masuk ke router yang sama.
  • Request HEAD otomatis dipetakan ke route GET, tetapi body response tidak dikirim.
  • Static asset seperti /storage/... atau file lain di public/ akan dilayani langsung oleh PHP built-in server.

Maintenance

  • php aiti optimize menjalankan clear berurutan untuk cache config, routes, dan views.
  • Command maintenance hanya menyentuh storage/cache/*.
  • Logs (storage/logs), sessions (storage/sessions), dan uploads (storage/uploads) tidak dihapus.

Bootstrap Preset (Local Assets)

Preset Bootstrap dan Bootstrap Icons dibundle di repo pada: system/Presets/bootstrap.

Command ini menyalin aset bundled ke: public/assets/vendor/... tanpa butuh Node atau internet.

php aiti preset:bootstrap

Untuk developer, jika aset internal hilang, command akan fallback ke node_modules. End user tidak perlu menjalankan npm install.

Security Defaults

  • Escaped output default di view (<?= $var ?> aman via escaper wrapper).
  • CSRF aktif pada grup route web.
  • Cookie session: HttpOnly + SameSite, Secure saat HTTPS/konfigurasi.
  • Tidak ada query concat dari user input (gunakan prepared statement/binding).

Tests

composer test

Coverage minimal awal:

  • router happy path
  • view escaping
  • csrf token + blocking request invalid

Donasi

Donasi & Beli Kopi

Kalau AitiGo ngebantu kerjaanmu dan bikin hidup sedikit lebih waras, boleh traktir kopi biar maintainer kuat begadang.

About

aitiCore Flex

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors