Skip to content

Development

Day-to-day development workflows with Phexium.

Contributor Installation

To work on the Phexium framework itself (testing, bug fixes, contributions):

git clone https://gitlab.com/phexium/framework.git phexium
cd phexium
task dev:environment:install

This command:

  • Installs Composer dependencies
  • Starts Docker containers (PHP, databases)
  • Initializes all database schemas
  • Loads demo fixtures

After installation, access the demo application at http://localhost:8080.

Building an application? If you want to create a new project using Phexium (not contribute to the framework), see Installation.

In This Section

Updating Phexium

Phexium uses a copy-based distribution. Update the framework with:

php tools/phexium.php status    # Check current version
php tools/phexium.php diff      # Preview changes
php tools/phexium.php update    # Apply update

After updating, review changes and run tests:

git diff src/ tools/
task tests:all

Troubleshooting

Docker Containers

docker ps
task dev:environment:stop
task dev:environment:start

Database Issues

cat .env | grep DATABASE
task database:sqlite:init

Tests Failing

task tests:unit
task coding-standard:lint
task deptrac:analyse

Development Best Practices

  • Run tests frequently (task tests:unit)
  • Check architecture before committing (task deptrac:analyse)
  • Apply coding standards (task coding-standard:fix)
  • Commit small, focused changes
  • Write tests for new features (TDD)

Getting Help

  • Documentation - Explore the docs/ directory
  • Examples - See app/demo/ for working code
  • Issues - Report bugs at https://gitlab.com/phexium/framework/-/issues