samagtech/bit-framework

v1.3.1 2023-11-10 14:18 UTC

This package is auto-updated.

Last update: 2024-04-10 15:12:34 UTC


README

Micro-framework per la gestione di piccole funzione lambda tramite il Serverless Framekwork e Bref.

Installazione

L'installazione avviene tramite il comando

    composer require samagtech/bit-framework

Quick Start

La prima cosa da fare è creare il file Handler per l'esecuzione dello script tramite Bref. Esempio:

<?php

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

use Bref\Context\Context;

class Handler implements \Bref\Event\Handler
{
    public function handle($event, Context $context)
    {
        return 'Hello ' . $event['name'];
    }
}

Successivamente deve essere creata l'applicazione di Bit

// bootstrap.php

<?php

use SamagTech\BitFramework\Application;

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

$app = Application::getInstance(__DIR__);

$app->bootProviders();

// $app->register(Provider::class) Funzione per registrare dei provider

// $app->bootDb() Da utilizzare nel caso di DB

return $app;

ed infine, deve essere creato il punto di avvio dell'applicazione

// index.php

try {

    $app = require __DIR__.'/bootstrap.php'

    $app->setHandler(ProductHandler::class);

    return $app->run();

}
catch (Error|Exception $e) {

    log_message('error', $e->getMessage(), ['exception' => $e]);
}

Creazione di un provider

Per creare un provider bisogna creare una classe che implementa \SamagTech\BitFramework\Contracts\Provider. Esempio.

// FooProvider.php

class FooProvider implements \SamagTech\BitFramework\Contracts\Provider {

    public function register () : void {

        app()->bind(Foo::class, new Foo());

        // Or

        app()->bind(Foo::class, function () {
            return new Foo();
        })
    }
}

Creazione dei modelli

Per la gestione del database è possibile utilizzare i modelli di Laravel.

class Foo extends Illuminate\Database\Eloquent\Model {}

Environment

Le seguenti variabili servono per configurare un ambiente:


<!-- Configurazione per il DB -->
DB_DRIVER=mysql
DB_HOST=
DB_NAME=
DB_USER=
DB_PASSWORD=
DB_PREFIX=

<!-- Configura la tipologia di ambiente -->
ENV=local

<!-- Attiva/Disattiva il debug -->
DEBUG=true

Configurazioni DB

Per aggiungere più connessione al DB deve essere creato il file config/database.php con il seguente contenuto

<?php

return [
    'default'   => [
        'driver'    => env('DB_DRIVER', 'mysql'),
        'host'      => env('DB_HOST', '127.0.0.1'),
        'database'  => env('DB_NAME', ''),
        'username'  => env('DB_USER', ''),
        'password'  => env('DB_PASSWORD', ''),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => env('DB_PREFIX', ''),
        'port'      => env('DB_PORT', '3306'),
    ]

];

Helpers

Lista degli helpers presenti:

  • app() -> Restituisce l'istanza dell'app
  • debug() -> Esegue il print_r() della lista dei parametri passati con die() finale
  • d() -> Debug con kint
  • dd() -> Debug con kint più die()
  • log_message() -> Scrivere un log