Open-source PHP knižnica

APIlite — PHP knižnica na tvorbu API

PHP knižnica na tvorbu backendových API z verejných metód triedy. Generuje dokumentáciu aj JavaScript a TypeScript klientov pre frontend.

  • PHP
  • Composer
  • JSON
  • JavaScript
  • TypeScript
Moja úloha
Autor a vývojár knižnice
Typ projektu
Open-source PHP knižnica
Stack
  • PHP
  • Composer
  • JSON
  • JavaScript
  • TypeScript

Prehľad

PHP knižnica na tvorbu backendových API z verejných metód triedy. Generuje dokumentáciu aj JavaScript a TypeScript klientov pre frontend.

APIlite sústreďuje definíciu API a podklady pre frontend do PHP triedy. Dokumentácia a klienti vychádzajú z rovnakých metód, ich parametrov a návratových typov.

Čo knižnica umožňuje

  • API akcie definované verejnými PHP metódami s typovanými parametrami.
  • JSON a HTML dokumentácia generovaná z metód a ich dokumentačných komentárov.
  • Interaktívne skúšanie API volaní priamo v HTML dokumentácii.
  • Generovanie JavaScript a TypeScript klientov cez web aj príkazový riadok.
  • Podpora Bearer tokenu v generovaných klientoch a testerovi.
  • Spoločné spracovanie odpovedí a chýb pomocou registrovaných handlerov.

Inštalácia cez Composer

Balík nainštalujete príkazom:

composer require tpsoft/apilite

Vyžaduje PHP 8.2 alebo novšie. Po inštalácii načítajte Composer autoload:

<?php
require __DIR__ . '/vendor/autoload.php';

Základné použitie

Vlastná API trieda rozširuje \TPsoft\APIlite\APIlite. Verejné metódy definujú jednotlivé akcie; komentáre opisujú ich parametre a výsledky.

<?php
require __DIR__ . '/vendor/autoload.php';

class CalculatorAPI extends \TPsoft\APIlite\APIlite
{
    /**
     * Sčíta dve čísla.
     * @param float $a Prvé číslo
     * @param float $b Druhé číslo
     * @return float Súčet
     */
    public function add(float $a, float $b): float
    {
        return $a + $b;
    }
}

new CalculatorAPI();

HTML dokumentáciu a klientov možno vyžiadať parametrami ?format=html, ?format=javascript alebo ?format=typescript.

Zdrojový kód a licencia

Knižnica je dostupná pod licenciou GPL-3.0-or-later.

Máte projekt, s ktorým vám môžem pomôcť?

Prijímam zákazky aj ponuky externej spolupráce

Ozvite sa ↗