PHP code example of caiquebispo / laraslim

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);
    }
}
bash
   php artisan-slim
   
bash
php artisan-slim make:migration users
bash
php artisan-slim make:model User
bash
php artisan-slim make:controller UserController
bash
php artisan-slim make:request UserRequest