mattablues/radix-app

Radix System

Maintainers

Package info

github.com/mattablues/radix-app

Type:project

pkg:composer/mattablues/radix-app

Statistics

Installs: 32

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.4.7 2026-05-27 18:25 UTC

README

Radix App

Radix App är en starter-applikation för Radix som skapas via composer create-project.
Själva ramverket lever som ett separat Composer-paket: mattablues/radix-framework.

Den här repot är alltså “appen”, inte frameworket.

Översikt

Radix App är en färdig projektstruktur med routing, controllers, views/templates, CLI och en minimal starter-setup.

  • Skapa projektet med composer create-project
  • Kör php radix app:setup för grundsetup (migrations + ev. seeders)
  • Lägg till mer funktionalitet stegvis via scaffold:install ... + migrations:migrate

Installation

Skapa ett nytt projekt:

composer create-project mattablues/radix-app <din-app>
cd <din-app>

Installera frontend dependencies (om du ska bygga assets):

npm install

Grundsetup:

php radix app:setup

Webroot och .htaccess

Rekommenderat är att peka serverns document root till public/.

För enklare webbhotell där document root inte kan ändras finns en .htaccess i projektroten som internt skickar requests vidare till public/.

Det finns även en public/.htaccess som hanterar webbroot-specifika Apache-regler, till exempel routing till index.php, skydd av dolda filer och cache headers.

Public assets och uploads

Radix App använder en rekommenderad standardstruktur för publika assets och användaruppladdningar:

public/
  assets/
    css/
    js/
    images/
      graphics/
    favicons/
  uploads/

public/assets innehåller appens betrodda frontend-assets, till exempel CSS, JavaScript, favicons, logotyper och statisk grafik.

public/uploads är reserverad för användargenererade filer. Den katalogen har striktare .htaccess-regler och ska inte användas för appens egna SVG-, JS- eller CSS-filer.

Exempel på app-assets:

versioned_file('/assets/css/app.css');
versioned_file('/assets/js/app.js');
versioned_file('/assets/images/graphics/avatar.png');

Uppladdade avatarer sparas som exempelvis:

public/uploads/users/1/avatar.jpg

och lagras normalt i databasen som publik path:

/uploads/users/1/avatar.jpg

Default-avatar i Radix App ligger som app-asset:

public/assets/images/graphics/avatar.png

med publik path:

/assets/images/graphics/avatar.png

Denna struktur är en Radix App-konvention. Om du använder mattablues/radix-framework utan radix-app kan du själv välja asset- och upload-struktur. Frameworkets versioned_file() är generell och stödjer flera vanliga publika asset-kataloger, till exempel:

/assets
/build
/dist
/css
/js

Det innebär:

radix-app       = färdig rekommenderad struktur
radix-framework = flexibel grund där utvecklaren väljer själv

Dokumentation

All dokumentation för appen finns under docs/.

👉 Radix App Documentation Index

CLI (radix)

Kör CLI:

php radix [command] [arguments]

Se hela listan och vanliga flöden här:

  • docs/CLI.md

Scaffolds (lägga till funktionalitet)

Scaffolds är “paket” som lägger till filer + konfiguration + ev. migrations för ett steg (t.ex. auth, user, admin, updates).

Installera scaffold:

php radix scaffold:install <preset>

Tips: I en ny app kan det finnas placeholder-filer (t.ex. tomma route-filer) för att verktyg som PHPStan ska vara nöjda direkt.
Om scaffold-installationen behöver skriva över sådana filer, använd i första hand --force-placeholders.

Rekommenderat när du installerar i en ny/ren app:

php radix scaffold:install <preset> --force-placeholders

Använd --force endast när du medvetet vill skriva över allt som krockar (t.ex. om du vill “återställa” filer till scaffoldets version):

php radix scaffold:install <preset> --force

Kör sedan migrations (scaffold kan lägga till nya migrationsfiler):

php radix migrations:migrate

Utveckling & test

Vanliga kommandon (via Composer scripts):

composer format:check
composer stan
composer test

Valfritt (mutation testing):

composer infect:pcov
composer infect:xdebug

Licens

MIT