⬡ Lacelium
⌘K
Version 2.x ▾

Installation

Meet Lacelium

Lacelium is a modern PHP web application framework with an expressive, elegant architecture. Lacelium provides a robust structure and starting point for creating your web application or API, allowing you to focus on building features without wrestling with boilerplate infrastructure.

Lacelium strives to provide an exceptional developer experience while delivering powerful capabilities such as dependency injection, an expressive database abstraction layer (with Eloquent ORM), integrated Nexify real-time streaming, instant modal architectures, unit and feature testing helpers, and the visual ArgusKit maintenance studio.

Whether you are new to PHP web frameworks or have years of production experience, Lacelium is designed to scale with your team. We can't wait to see what you build.

Why Lacelium?

There are a variety of tools and frameworks available to you when building a web application. However, we believe Lacelium offers a uniquely productive balance between full-stack developer ergonomics and ultra-fast runtime performance.

A Progressive Framework

We like to call Lacelium a "progressive" framework. By that, we mean that Lacelium grows with you. If you are building a small internal dashboard, the built-in SQLite driver and ArgusKit Studio allow you to generate full CRUD workflows in minutes. When your application scales to millions of users, Lacelium runs seamlessly under RoadRunner, high-concurrency Swoole workers, or enterprise PHP-FPM clusters.

Creating a Lacelium Application

Before creating your first Lacelium application, ensure that your local development machine has PHP 8.2+ and Composer 2.0+ installed.

Server Requirements

The Lacelium runtime has very few system dependencies:

  • PHP >= 8.2 with standard extensions: pdo, mbstring, openssl, tokenizer, curl
  • Composer package manager
  • Database: SQLite 3.35+, MySQL 8.0+, MariaDB 10.3+, or PostgreSQL 13+

Cloning the Repository

You can bootstrap a new application by cloning the core repository or using Composer create-project:

git clone https://github.com/lacelium/lacelium-framework.git my-app
cd my-app
composer install

Initial Configuration

All of the configuration options for Lacelium are documented in the files located in the config/ directory. However, you will need to establish your local environment file first.

Environment Based Configuration

Lacelium ships with a .env.example file at the root of the project. Copy this file to create your active .env file:

cp .env.example .env

Next, open .env in your editor and configure your application environment, debug mode, and database connection:

APP_NAME="Lacelium Application"
APP_ENV=local
APP_KEY=base64:randomgeneratedkey32bytes
APP_DEBUG=true
APP_URL=http://localhost:8000

DB_CONNECTION=sqlite
DB_DATABASE=storage/database.sqlite

Directory Permissions

Lacelium requires write permissions for directories inside the storage directory and the public/uploads directory. Ensure your web server user can write to these paths:

chmod -R 775 storage public/uploads

Starting the Server

To start your local HTTP development server, you can use the built-in Dipper console runner:

php console serve

By default, this will bind the server to http://127.0.0.1:8000. If you wish to specify a custom host or port, pass the --host and --port flags:

php console serve --host=0.0.0.0 --port=8080

Running Under Apache or XAMPP

If you prefer running inside an existing Apache virtual host or XAMPP environment, point your document root directly to the public/ directory:

<VirtualHost *:80>
    ServerName my-app.test
    DocumentRoot "/path/to/my-app/public"
    <Directory "/path/to/my-app/public">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Next Steps

Now that your Lacelium application is installed and running, you are ready to start building! Here are a few recommended next topics to explore:

  • Configuration: Learn how application settings and environments work.
  • Routing: Map clean URLs directly to controllers and actions.
  • Database & Eloquent: Connect your database models and run migrations.
  • ArgusKit Studio: Open the visual builder to generate CRUD tables instantly.