danieltm/origins

There is no license information available for the latest version (V1.1) of this package.

V1.1 2024-04-30 01:57 UTC

This package is auto-updated.

Last update: 2024-04-30 01:59:15 UTC


README

Introdução

Origins é um framework PHP minimalista desenvolvido para simplificar o desenvolvimento de aplicativos da web. Ele fornece uma estrutura flexível e escalável para construir aplicativos da web de forma eficiente.

Instalação

Para começar a usar o framework Origins, siga estas etapas simples:

  1. Clone o repositório do Origins em seu ambiente de desenvolvimento:

    git clone https://github.com/DanielTM999/origins.git
  2. Instale as dependências do Composer:

    composer require danieltm/origins
  3. Configure seu servidor web para direcionar as solicitações para o diretório public do framework.

Principais Requisitos

PHP 8.3

Conceitos Principais

O framework Origins é construído com base em alguns conceitos fundamentais:

  • Controller: Classes marcadas com o atributo Controller que contêm métodos correspondentes a endpoints da API.

  • Dependency Injection (Injeção de Dependência): O framework utiliza injeção de dependência para gerenciar e injetar automaticamente as dependências necessárias nas classes.

  • Atributos de Roteamento: Os atributos Get, Post, Delete e Put são utilizados para mapear métodos de controller para endpoints da API.

  • Auto Mapeador de classes e auto carregamento: O framework utiliza um mapeador propria para fazer o carregamento das classes e dependecias sem o uso de composer ou outro mapeador;

Uso Básico

Para criar um aplicativo web usando o framework Origins, siga estas etapas:

  1. Defina seus Controllers: Crie classes de Controller e marque-as com o atributo Controller.

  2. Defina os Endpoints: Utilize os atributos Get, Post, Delete e Put para mapear os métodos dos Controllers para os endpoints da API.

  3. Inicie o Framework: Crie uma instância do Origin e chame o método run() para iniciar o roteamento e despachar as solicitações.

Exemplo de Código Controller

Aqui está um exemplo de como criar um Controller e mapear um método para um endpoint:

<?php

namespace App\Controllers;

use Daniel\Origins\Controller;
use Daniel\Origins\Get;
use Daniel\Origins\Request;

#[Controller]
class UserController extends Controller
{

    #[Inject(Servico::class)]
    private $servico;

    #[Get('/users')]
    public function getAllUsers()
    {
        
    }

    #[Get("/")]
    public function intex(Request $req){
        $headers = $req->getHeaders();
        $body = $req->getBody();
    }   

    #[Get("/number")]
    public function getNumber(){
        echo $this->servico->getNumber();
    }
}

//true se for apenas 1 instacia e false se for por request
#[Dependency(true)]
class Servico{

    public function getNumber() : int{
        return rand();
    }

}

?>

Exemplo de Código Controller

Aqui está um exemplo de como criar o index:

<?php
    require "./vendor/autoload.php";
    use Daniel\Origins\Origin;

    $app = Origin::initialize();
    $app->run();

?>