emir/kapi

Slim Framework based API skeleton application for rapid development

Installs: 7

Dependents: 0

Suggesters: 0

Security: 0

Stars: 181

Watchers: 16

Forks: 3

Open Issues: 0

Type:project

1.0.0 2018-04-23 19:04 UTC

This package is not auto-updated.

Last update: 2024-04-18 00:42:13 UTC


README

Build Status

Slim Framework based simple helper to generate RESTful API's and applications, requires PHP 7.

KAPI means "door" in Turkish.

Creating a Project skeleton

git clone https://github.com/emir/kapi myproject
cd myproject
composer install

It will create an example project.

Edit Configuration

$EDITOR .env

Migrations

phinx migrate

Running the Project

cd myproject
php -S localhost:8080 -t public

That's all! :)

Getting Started

You should define your URLs in routes.php:

# src/routes.php
<?php

$urls = [
  ['get', '/books', 'BooksController::index', 'List all books.']
];

Create your models:

# src/Models/Book.php
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Book extends Model
{
    /**
     * @var array
     */
    protected $guarded = [];
}

Create your Controllers and methods:

# src/Controllers/BooksController.php
<?php

namespace App\Controllers;

use App\Models\Book;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use Illuminate\Database\QueryException;
use Slim\Http\Request;
use Slim\Http\Response;

class BooksController extends AbstractController
{
    /**
     * @param Request $request
     * @param Response $response
     * @return Response
     */
    public function index(Request $request, Response $response): Response
    {
        $books = Book::all();
        
        return $response->withJson($books);
    }
}

Done!