Skip to content

TallieuTallieu/dry-internal-api

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dry-internal-api

An internal API for your DRY applications

Installation

composer require tallieutallieu/dry-internal-api

Example usage

Route definition
<?php

use Tnt\InternalApi\Facade\Api;

Api::get('posts/', '\\Acme\\Controller\\PostController::index');
Api::post('posts/', '\\Acme\\Controller\\PostController::add');
Api::delete('posts/(?<postId>\d+)/', '\\Acme\\Controller\\PostController::delete');
Controller
<?php

namespace Acme\Controller;

use Tnt\InternalApi\Exception\ApiException;
use Tnt\InternalApi\Http\Request;

class PostController
{
    public static function index(Request $request)
    {
        return [
            [
                'id' => 1,
                'title' => 'My example post',
            ],
            [
                'id' => 2,
                'title' => 'Another example post',
            ],
        ];
    }
    
    public static function add(Request $request)
    {
        // Create your post
    }
    
    public static function delete(Request $request)
    {
        if ($request->data->integer('postId')) {
            // Delete your post
            return true;
        }
        throw new ApiException('post_not_found');
    }
}

About

An internal API for your DRY applications

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%