rjm/blackhole-framework

Small REST PHP framework base on ADR pattern

Maintainers

Package info

gitlab.com/rjamessp2003/blackhole-framework

Issues

Type:project

pkg:composer/rjm/blackhole-framework

Statistics

Installs: 3

Dependents: 0

Suggesters: 0

Stars: 4

2.1.2 2025-12-25 15:10 UTC

This package is not auto-updated.

Last update: 2026-04-03 11:27:18 UTC


README

Hi there, I'm Eugene !

HSE student, Web Developer πŸ‡·πŸ‡Ί

BlackHole FrameWork

ADR Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для REST API.

Код прилоТСния находится Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ /app.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ находятся Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ app

ДирСктория core являСтся ядром ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ с Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒΡŽ!

ADR

Для Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ использования Π½ΡƒΠΆΠ½ΠΎ

1) Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Action, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Π² BlackHole\Interfaces\ActionInterface Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ app/Actions 2) Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Domain, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Π² BlackHole\Interfaces\DomainInterface Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ app/Domains 3) Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€ΠΎΡƒΡ‚ Π² app/routes.php, с Ρ…Π΅Π½Π΄Π»Π΅Ρ€ΠΎΠΌ Π² Π²ΠΈΠ΄Π΅ созданного Action

Middleware

ΠŸΡ€ΠΈ потрСбности, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Handler Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ app/Middleware ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΡ‚ BlackHole\Interfaces\HandlerInterface

Π›ΠΎΠ³Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π›ΠΎΠ³Π³Π΅Ρ€ создаСт Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π² Π»ΠΎΠ³ΠΈ Π² app/Logs ΠΏΡ€ΠΈ настройкС Π² Ρ„Π°ΠΉΠ»Π΅ .env LOGGER_ON="true"

(НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ .env Ρ„Π°ΠΉΠ» скопировав содСрТимоС ΠΈΠ· dev.env)

CLI ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ

BlackHole ΠΈΠΌΠ΅Π΅Ρ‚ встроСнного cli ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ° hawking

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: hawking создаСт Ρ„Π°ΠΉΠ»Ρ‹ соотвСтсвСнно каноничСским namespace Π² каноничСских дирСкториях,Π° Ρ‚Π°ΠΊΠΆΠ΅ измСняСт имя Ρ„Π°ΠΉΠ»Π°, Ссли ΠΎΠ½ΠΎ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

имя ActionTest, прСобразуСтся Π² TestAction, имя Test прСобразуСтся Π² TestAction

Test\TestAction создаСтся Π² app\Actions\Test\TestAction.php c ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΠ²ΡƒΡŽΡ‰ΠΈΠΌ namespace

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ 1) Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Action

php hawking create:action ExampleAction
php hawking create:action Example\ExampleAction

2) Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Domain

php hawking create:domain ExampleDomain
php hawking create:domain Example\ExampleAction

3)БозданиС Middleware handler для request и response

php hawking create:handler:request ResponseHandler
php hawking create:handler:response Example\ExampleHandler

4) Π‘Ρ‚Π°Ρ€Ρ‚ сСрвСра

php hawking serve