emir / kapi
Slim Framework based API skeleton application for rapid development
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 181
Watchers: 16
Forks: 3
Open Issues: 0
Type:project
Requires
- php: >=7.0
- illuminate/database: ^5.5
- monolog/monolog: ^1.17
- robmorgan/phinx: ^0.9.2
- slim/php-view: ^2.0
- slim/slim: ^3.1
- vlucas/phpdotenv: ^2.4
Requires (Dev)
- phpunit/phpunit: >=4.8 < 6.0
This package is not auto-updated.
Last update: 2024-12-12 03:58:15 UTC
README
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!