PHPackages                             buildcake/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. buildcake/framework

ActiveLibrary[Framework](/categories/framework)

buildcake/framework
===================

Framework BuildCake - Scaffold de módulos, tabelas, APIs e serviços para geração de código (composer create-project).

1.0.4(2mo ago)020—0%1MITPHPPHP &gt;=8.0

Since Feb 23Pushed 2mo agoCompare

[ Source](https://github.com/DesenvolvimentoEasingJob/buildcake-framework)[ Packagist](https://packagist.org/packages/buildcake/framework)[ RSS](/packages/buildcake-framework/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (4)Versions (5)Used By (1)

BuildCake Framework
===================

[](#buildcake-framework)

Biblioteca PHP do BuildCake para **scaffold de código**: geração de módulos, tabelas, controllers, services e arquivos. Usada pelo app BuildCake e por projetos criados com `composer create-project`.

Instalação
----------

[](#instalação)

No seu projeto (que já usa `buildcake/tools` e `buildcake/sqlkit`):

```
composer require buildcake/framework
```

Ou via repositório path (desenvolvimento):

```
"repositories": [{"type": "path", "url": "../framework"}],
"require": {"buildcake/framework": "@dev"}
```

Uso
---

[](#uso)

Os serviços do scaffold usam um **project root** (raiz do projeto onde está `src/`, `composer.json`) e, quando o pacote está em `vendor/buildcake/framework`, usam os **templates** embutidos do pacote.

### Via Factory (recomendado)

[](#via-factory-recomendado)

```
use BuildCake\Framework\Scaffold\ScaffoldFactory;

$projectRoot = __DIR__; // ou dirname(__DIR__, 2) se estiver dentro de src/Scaffold/controllers

$moduleService = ScaffoldFactory::moduleService($projectRoot);
$apiService    = ScaffoldFactory::apiService($projectRoot);
$tableService  = ScaffoldFactory::tableService($projectRoot);
$fileService   = ScaffoldFactory::fileService($projectRoot);
$sqlService    = ScaffoldFactory::sqlService();
```

### Config manual

[](#config-manual)

```
use BuildCake\Framework\Scaffold\ScaffoldConfig;
use BuildCake\Framework\Scaffold\ModuleService;

$config = ScaffoldConfig::withFrameworkTemplates(
    '/caminho/do/projeto',
    '/caminho/do/projeto/vendor/buildcake/framework'
);
$moduleService = new ModuleService($config);
```

Serviços
--------

[](#serviços)

ServiçoDescrição`ModuleService`Lista/cria/atualiza/remove módulos (pastas em `src/`), cria tabela + API + Service.`ApiService`Lista/cria/atualiza/remove controllers (API HTTP).`ServiceService`Lista/cria/atualiza/remove services PHP.`TableService`Lista/cria/altera/remove tabelas no banco (MySQL).`FileService`Lista/cria/edita/remove arquivos em `src/`.`SQLService`Executa queries SELECT/INSERT/UPDATE/DELETE.Templates
---------

[](#templates)

O pacote inclui templates em `templates/`:

- `table.template` – CREATE TABLE padrão (id, is\_active, created\_at, etc.)
- `service.template` – Service PHP com get/insert/edit/delete
- `controller.template` – Controller HTTP GET/POST/PUT/DELETE
- `unit_test.template` – Teste PHPUnit

Quando o projeto tem `vendor/buildcake/framework`, esses templates são usados automaticamente. Caso contrário, o scaffold usa `src/Scaffold/templates/` do próprio projeto.

Estrutura no vendor BuildCake
-----------------------------

[](#estrutura-no-vendor-buildcake)

Este pacote é usado junto com:

- `buildcake/tools` – Utils (IncludeService, replaceFields, sendResponse, etc.)
- `buildcake/sqlkit` – Camada SQL (Sql::runQuery, runPost, runPut, runDelet, etc.)

No repositório do app, a pasta do framework fica em:

```
back/vendor/buildcake/
  tools/
  sqlkit/
  framework/
