PHPackages                             sparkphp-br/sparkphp - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. sparkphp-br/sparkphp

ActiveProject[Utility &amp; Helpers](/categories/utility)

sparkphp-br/sparkphp
====================

SparkPHP — Write what matters.

v1.0.0(3mo ago)04↓90.9%MITPHPPHP &gt;=8.3CI failing

Since Apr 2Pushed 2mo agoCompare

[ Source](https://github.com/sparkphp-br/sparkphp)[ Packagist](https://packagist.org/packages/sparkphp-br/sparkphp)[ RSS](/packages/sparkphp-br-sparkphp/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependencies (2)Versions (2)Used By (0)

SparkPHP
========

[](#sparkphp)

**Write what matters.**

SparkPHP e um framework PHP file-based, zero-config e observavel por default. Ele existe para reduzir wiring, cortar boilerplate e deixar o comportamento da aplicacao visivel no CLI, no Inspector e na propria estrutura de arquivos.

Versao publicada atual: `0.10.0` (`0.10.x`).

---

Dois arquivos. Sem controller. Sem service provider. Sem registro.

```
// app/routes/users.php
get(fn() => ['users' => User::all()]);
```

```
{{-- app/views/users.spark --}}
@title('Usuarios')

@foreach($users as $user)
  {{ $user->name }}
@endforeach

```

Isso e suficiente para:

- `GET /users` com browser → HTML com layout automatico
- `GET /users` com `Accept: application/json` → JSON sem alterar uma linha
- `php spark routes:list` → lista a rota no CLI
- `/_spark` → mostra o request completo no Inspector

---

O que o Spark otimiza
---------------------

[](#o-que-o-spark-otimiza)

- **Menos wiring**: nenhum arquivo de registro, nenhum service provider, nenhum Kernel.
- **Mais previsivel**: o arquivo e a convencao dizem o que acontece.
- **Mais observavel**: request, cache, queries, AI e benchmark fazem parte do produto.

Nucleo do Spark
---------------

[](#nucleo-do-spark)

O runtime base carrega apenas o que e necessario para cada request:

- Router · Request/Response · Middleware · Container
- Template Engine · Database · Model · Validator
- Session · Cache · Logger · Helpers · CLI

O que e core obrigatorio, o que e first-party opcional e o que e experimental:

- [Fronteira do produto](docs/00-product-scope.md)

SparkPHP vs Laravel
-------------------

[](#sparkphp-vs-laravel)

O Spark nao tenta ganhar do Laravel por “ter mais coisas”.

Ele tenta ser melhor em outro eixo:

- **menos wiring para o caso comum**
- **menos superficie para lembrar**
- **mais visibilidade operacional sem setup extra**

Quando o problema pede ecossistema enorme, pacotes first-party maduros e ampla disponibilidade de time, o Laravel continua excelente.

Quando o problema pede previsibilidade, baixo atrito e um framework que cabe na cabeca do time, o Spark entra muito forte.

Guia honesto de comparacao:

- [SparkPHP vs Laravel](docs/21-spark-vs-laravel.md)
- [Guia de Adoção](docs/22-adoption-guide.md)
- [Benchmarks](docs/23-benchmarking.md)
- [Migração a partir do Laravel](docs/24-migrating-from-laravel.md)
- [Review Checklist](docs/25-review-checklist.md)

Quick Start
-----------

[](#quick-start)

```
composer install
php spark init
php spark serve
```

Ou gere um projeto novo ja com um starter first-party:

```
php spark starter:list
php spark new ../meu-saas --starter=saas
```

Starter kits
------------

[](#starter-kits)

O runtime atual publica quatro presets oficiais:

- `api`
- `saas`
- `admin`
- `docs`

Todos continuam sendo Spark puro: rotas em arquivo, templates `.spark`, CLI versionada, docs em Markdown e observabilidade nativa.

Guia completo:

- [Starter Kits](docs/20-starter-kits.md)

Documentacao
------------

[](#documentacao)

O indice principal da documentacao fica em:

- [docs/README.md](docs/README.md)

Topicos principais:

- [Instalacao](docs/01-installation.md)
- [Routing](docs/02-routing.md)
- [Request &amp; Response](docs/03-request-response.md)
- [Database](docs/05-database.md)
- [CLI](docs/13-cli.md)
- [AI SDK](docs/16-ai.md)

Benchmarks e observabilidade
----------------------------

[](#benchmarks-e-observabilidade)

O Spark publica benchmark e diagnostico como partes do produto:

```
php spark about
php spark benchmark
php spark inspector:status
```

O objetivo nao e vender microbenchmark isolado. O objetivo e medir ciclo HTTP, DX e operacao de forma repetivel.

Maturidade por subsistema
-------------------------

[](#maturidade-por-subsistema)

SubsistemaCategoriaMaturidadeRoutingCore obrigatorioEstavelRequest / ResponseCore obrigatorioEstavelMiddlewareCore obrigatorioEstavelContainer (DI)Core obrigatorioEstavelValidatorCore obrigatorioEstavelTemplate EngineCore obrigatorioBetaDatabase / ModelCore obrigatorioBetaSession / CacheCore obrigatorioBetaCLICore obrigatorioBetaSparkInspectorFirst-party opcionalBetaQueueFirst-party opcionalBetaMailerFirst-party opcionalBetaRealtimeFirst-party opcionalExperimentalAI SDKExperimentalExperimentalVector SearchExperimentalExperimentalOpenAPI GeneratorFirst-party opcionalExperimental- **Categoria** — onde o subsistema pertence na fronteira do produto
- **Maturidade** — garantia de estabilidade da API publica:
    - *Estavel*: contrato fixo; breaking changes apenas em major
    - *Beta*: adequado para producao; API pode mudar em minors com upgrade guide
    - *Experimental*: nao usar em producao sem avaliacao; pode mudar sem aviso

Politica completa: [Releases &amp; Compatibilidade](docs/14-releases.md) · [Fronteira do produto](docs/00-product-scope.md)

Estado do projeto
-----------------

[](#estado-do-projeto)

O SparkPHP esta na linha `0.x`, ainda consolidando contrato publico. Isso significa:

- a linha ja busca previsibilidade real
- minors ainda podem trazer mudancas estruturais documentadas
- toda release relevante deve atualizar `VERSION`, `CHANGELOG.md` e os guias de upgrade

Mais detalhes:

- [Releases &amp; Compatibilidade](docs/14-releases.md)
- [Upgrade Guide](docs/15-upgrade-guide.md)
- [Contributing](CONTRIBUTING.md)

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance84

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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

Unknown

Total

1

Last Release

91d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/46715d27fbe2fe23f272f3191f899a9cb201dc59aa624d6e6b80cd6fdccffa1a?d=identicon)[dbsdenis](/maintainers/dbsdenis)

---

Top Contributors

[![dbsdenis](https://avatars.githubusercontent.com/u/2111170?v=4)](https://github.com/dbsdenis "dbsdenis (44 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/sparkphp-br-sparkphp/health.svg)

```
[![Health](https://phpackages.com/badges/sparkphp-br-sparkphp/health.svg)](https://phpackages.com/packages/sparkphp-br-sparkphp)
```

###  Alternatives

[razorpay/ifsc

Razorpay IFSC Codes Library

385205.4k](/packages/razorpay-ifsc)[icehouse-ventures/laravel-mermaid

Simple package to generate diagrams in Laravel using the Mermaid.js library

2639.0k](/packages/icehouse-ventures-laravel-mermaid)[fof/split

Separate posts from one discussion into its own, splits discussions.

1253.0k5](/packages/fof-split)[devless/php-sdk

Official Devless SDK

135.9k](/packages/devless-php-sdk)

PHPackages © 2026

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