1. Go to this page and download the library: Download caiquebispo/laraslim library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
caiquebispo / laraslim example snippets
use Slim\Routing\RouteCollectorProxy;
$app->group('/api', function (RouteCollectorProxy $group) {
$group->get('/users', 'UserController:index');
$group->post('/users', 'UserController:store');
});
use LaraSlim\Controllers\HomeController;
$app->get('/', [HomeController::class, 'index']);
namespace LaraSlim\Controllers;
class HomeController
{
public function index()
{
// Controller logic here
}
}
namespace LaraSlim\Http\Request;
class UserRequest extends BaseRequest
{
protected function rules(): array
{
return [
//'name' => '
namespace LaraSlim\Http\Controllers;
use LaraSlim\DTOs\UserDTO;
use LaraSlim\Http\Request\UserRequest;
use LaraSlim\Kernel\Providers\Response;
use LaraSlim\Services\UserServices;
class UserController
{
public function __construct(private UserServices $userServices) {}
public function store(ServerRequestInterface $request, ResponseInterface $response): ResponseInterface
{
$validator = (new UserRequest($request->getParsedBody()))->validate();
if ($validator->fails()) {
return (new Response($response))->json([
'status' => 'error',
'message' => 'Validation failed',
'errors' => $validator->errors()
], 422);
}
$user = $this->userServices->store(new UserDTO(...$request->getParsedBody()));
return (new Response($response))->json([
'status' => 'success',
'message' => 'User created successfully',
'user' => $user
], 201);
}
}