PHPackages                             ewq-zone-oy/spin-framework - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. ewq-zone-oy/spin-framework

ActiveFramework[Framework](/categories/framework)

ewq-zone-oy/spin-framework
==========================

A super lightweight PHP UI/REST Framework

0.0.35(2mo ago)01.1k↓44.7%MITPHPPHP ^8CI failing

Since Aug 19Pushed 2mo agoCompare

[ Source](https://github.com/EWQ-Zone-Oy/spin-framework)[ Packagist](https://packagist.org/packages/ewq-zone-oy/spin-framework)[ Docs](http://spin.celarius.com)[ RSS](/packages/ewq-zone-oy-spin-framework/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelog (2)Dependencies (14)Versions (7)Used By (0)

[![Latest Stable Version](https://camo.githubusercontent.com/8b93bd418f184823625328a14e38020f23ecd3f1c26ec45cdaa77df3a807fbc8/68747470733a2f2f706f7365722e707567782e6f72672f63656c61726975732f7370696e2d6672616d65776f726b2f762f737461626c65)](https://packagist.org/packages/celarius/spin-framework)[![Total Downloads](https://camo.githubusercontent.com/ecd2a1e57a88fc386588925a98868a08a546b1190395bb0d63ee8f2c2ef3aed6/68747470733a2f2f706f7365722e707567782e6f72672f63656c61726975732f7370696e2d6672616d65776f726b2f646f776e6c6f616473)](https://packagist.org/packages/celarius/spin-framework)[![License](https://camo.githubusercontent.com/bd1d2147427ce2b6039204f83b8b03ede75b011dd739053d4ca1667dbdfb4087/68747470733a2f2f706f7365722e707567782e6f72672f6e6f66757a7a2f6672616d65776f726b2f6c6963656e7365)](https://packagist.org/packages/celarius/spin-framework)[![PHP8 Ready](https://camo.githubusercontent.com/cd259e45101568d98df6849b7e1b0141357ca4acfaca05c44c5d088368c8911d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f504850382d72656164792d677265656e2e737667)](https://packagist.org/packages/celarius/spin-framework)

SPIN - A super lightweight PHP UI/REST framework
================================================

[](#spin---a-super-lightweight-php-uirest-framework)

[![Latest Unstable Version](https://camo.githubusercontent.com/7b6dcc63831cd964f7cbf277ccdbc5de475058bbc9946c4e85c6f83df64ff8d3/68747470733a2f2f706f7365722e707567782e6f72672f63656c61726975732f7370696e2d6672616d65776f726b2f762f756e737461626c65)](https://packagist.org/packages/celarius/spin-framework)[![Build Status](https://camo.githubusercontent.com/ed2d2fb67859707e1e4bab29c58fbbea82306b143e48accaf30c07e5fcbdab59/68747470733a2f2f7472617669732d63692e636f6d2f6769746875622f43656c61726975732f7370696e2d6672616d65776f726b2e7376673f6272616e63683d6d6173746572)](https://travis-ci.com/github/Celarius/spin-framework)

SPIN is a application framework for making Web UI's and REST API's quickly and effectively with PHP. It uses [PSR standards](http://www.php-fig.org/psr/)for most things, and allows for plugging in almost any PSR compatible component, such as loggers, HTTP libraries etc.

```
    NOTE: This framework is in RC stage - Please contribute to make it complete
```

- [SPIN - A super lightweight PHP UI/REST framework](#spin---a-super-lightweight-php-uirest-framework)
- [1. Features](#1-features)
    - [1.1. PSR based integrations](#11-psr-based-integrations)
- [2. Installation](#2-installation)
    - [2.1. Using the spin-skeleton](#21-using-the-spin-skeleton)
    - [2.2. Testing](#22-testing)
- [3. Technical Details](#3-technical-details)
    - [3.1. Apache configuration](#31-apache-configuration)
    - [3.2. Nginx configuration](#32-nginx-configuration)

1. Features
===========

[](#1-features)

- PHP 8+
- Platform agnostic. (Windows, \*nix)
- Routing engine, with route groups
- Middleware
- Containers
- Composer driven in packages/extensions
- PDO based DB connections (MySql,PostgreSql,Oracle,CockroachDb,Firebird,Sqlite ...)
- DAO base classes for DB Entity representation
- Extendable with other frameworks (ORM, Templates etc.)

1.1. PSR based integrations
---------------------------

[](#11-psr-based-integrations)

- Logger (PSR-3) Defaults to [Monolog](https://github.com/Seldaek/monolog)
- HTTP Message (PSR-7). Defaults to [Guzzle](https://github.com/guzzle/guzzle)
- Container (PSR-11). Defaults to [The Leauge Container](http://container.thephpleague.com/)
- SimpleCache (PSR-16). Defaults to APCu SimpleCache
- HTTP Factories (PSR-17)

2. Installation
===============

[](#2-installation)

Installing spin-framework as standalone with composer:

```
composer require celarius/spin-framework
```

2.1. Using the spin-skeleton
----------------------------

[](#21-using-the-spin-skeleton)

To install and use the spin-framework it is highly recommended to start by cloning the [spin-skeleton](https://github.com/Celarius/spin-skeleton) and running `composer update -o` in the folder. This will download all needed packages, and create a template skeleton project, containing example configs, routes, controllers and many other things.

2.2. Testing
------------

[](#22-testing)

On Windows based systems simply type

```
.\phpunit.cmd
```

At the command prompt and all tests will be executed.

3. Technical Details
====================

[](#3-technical-details)

- [Cache](doc/Cache.md)
- [Helpers](doc/Helpers.md)
- [Databases](doc/Databases.md)
- [Uploading files](doc/Uploaded-files.md)
- [Storage folders](doc/Storage-folders.md)

3.1. Apache configuration
-------------------------

[](#31-apache-configuration)

VHost for running the application under Apache with domain-name recognition.

If Port number based applications are desired the `` needs to change to the corresponding port, and the `domain.name` removed from the config.

```

    Define domain.name              mydomain.com
    Define alias.domain.name        www.mydomain.com
    Define path_to_root             C:/Path/Project
    Define environment              DEV

    ServerName ${domain.name}
    ServerAlias ${alias.domain.name}
    ServerAdmin webmaster@${domain.name}

    DocumentRoot "${path_to_root}\src\public"

    ErrorLog "logs/${domain.name}.error.log"
    CustomLog "logs/${domain.name}.access.log" common

    # Default caching headers for static content in /public

      Header set Cache-Control "public, max-age=604800, must-revalidate"

        Options -Indexes +FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
        Require all granted

        # Set Variables
        SetEnv ENVIRONMENT ${environment}

        # Load files in this order on "/"
        DirectoryIndex bootstrap.php index.php index.html

        # Disable appending a "/" and 301 redirection when a directory
        # matches the requested URL
        DirectorySlash Off

        # Set Rewrite Engine ON to direct all requests to
        # the `bootstrap.php` file
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ bootstrap.php [QSA,L]

```

3.2. Nginx configuration
------------------------

[](#32-nginx-configuration)

```
server {
    listen 80;
    server_name mydomain.com www.mydomain.com;

    root C:/Path/Project/src/public;  # Nginx on Windows still uses forward slashes
    index bootstrap.php index.php index.html;

    access_log logs/mydomain.com.access.log;
    error_log logs/mydomain.com.error.log;

    # Set environment variable for PHP-FPM
    fastcgi_param ENVIRONMENT DEV;

    # Default caching headers for static content
    location ~* \.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$ {
        add_header Cache-Control "public, max-age=604800, must-revalidate";
        try_files $uri =404;
    }

    # Deny directory listings
    location / {
        try_files $uri $uri/ /bootstrap.php?$query_string;
    }

    # PHP handling (adjust the socket/path to your PHP-FPM setup)
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass 127.0.0.1:9000; # or unix:/var/run/php/php8.1-fpm.sock
        fastcgi_index bootstrap.php;
    }
}
```

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance83

Actively maintained with recent releases

Popularity19

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity30

Early-stage or recently created project

 Bus Factor1

Top contributor holds 59% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~184 days

Total

2

Last Release

89d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/db2adedd60f45f84ddacd29d3e6f7ee9b20cdced43731a3f63d55bd4801d3270?d=identicon)[supercid](/maintainers/supercid)

---

Top Contributors

[![ksandell](https://avatars.githubusercontent.com/u/15631595?v=4)](https://github.com/ksandell "ksandell (232 commits)")[![kimsandell73-arch](https://avatars.githubusercontent.com/u/242162901?v=4)](https://github.com/kimsandell73-arch "kimsandell73-arch (82 commits)")[![supercid](https://avatars.githubusercontent.com/u/2778820?v=4)](https://github.com/supercid "supercid (56 commits)")[![Jackdupkevin](https://avatars.githubusercontent.com/u/10881268?v=4)](https://github.com/Jackdupkevin "Jackdupkevin (15 commits)")[![Officialrwn](https://avatars.githubusercontent.com/u/63236202?v=4)](https://github.com/Officialrwn "Officialrwn (6 commits)")[![pavan516](https://avatars.githubusercontent.com/u/28988515?v=4)](https://github.com/pavan516 "pavan516 (1 commits)")[![tarunsavitr](https://avatars.githubusercontent.com/u/110171708?v=4)](https://github.com/tarunsavitr "tarunsavitr (1 commits)")

---

Tags

apiframeworkrestREST APIPHP7php frameworkMicroservice

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/ewq-zone-oy-spin-framework/health.svg)

```
[![Health](https://phpackages.com/badges/ewq-zone-oy-spin-framework/health.svg)](https://phpackages.com/packages/ewq-zone-oy-spin-framework)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.7k509.9M17.0k](/packages/laravel-framework)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[cakephp/cakephp

The CakePHP framework

8.8k18.5M1.6k](/packages/cakephp-cakephp)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.2M386](/packages/shopware-core)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[neos/flow

Flow Application Framework

862.0M451](/packages/neos-flow)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
