PHP code example of trabdlkarim / lararestler

1. Go to this page and download the library: Download trabdlkarim/lararestler 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/ */

    

trabdlkarim / lararestler example snippets




namespace App\Http\Resources;

use App\Models\User;
use Mirak\Lararestler\Attributes\QueryParam as QParam;
use Mirak\Lararestler\Exceptions\RestException;
use Mirak\Lararestler\Http\Resources\Resource;

class Users extends Resource
{
    /**
     * Retrieve users
     * 
     * @param int $id User ID
     * @param string $email Email Address
     * @param string $name Name
     * @return App\Http\Responses\UserResponse
     */
    public function index(#[QParam('id')] ?int $id = 0, #[QParam('email')] ?string $email = '', #[QParam('name')] ?string $name = '')
    {
        $builder = User::select('*');
        if ($id) {
            $builder = $builder->where('id', $id);
        }
        if ($email) {
            $builder =  $builder->where('email', $email);
        }
        if ($name) {
            $builder = $builder->where('name', 'like', '%' . $name . '%');
        }
        return $builder->get();
    }

    /**
     * Retrieve a user info
     * 
     * Retrieve a given user details from storage
     * 
     * @param int $id User ID
     * @return bool
     * @url GET /users/{id}
     * @throws RestException
     */
    public function get(int $id)
    {
        $user = User::find($id);
        if (!$user) throw new RestException(404, "User #{$id} does not exist.");
        return $user;
    }
}



return [
    "name" => "REST API",
    "version" => 1,
    "path_prefix" => "api",
    "middleware" => ["api"],
    "allowed_envs" => ['local'],
    "namespace" => "App\\Http\\Resources",
    "resources" => [
        "users" => "Users",
    ],
];



namespace App\Http\Requests;

use Mirak\Lararestler\Http\Requests\Model;

class UserRequest extends Model
{
    /**
     * @var string Name {@



namespace App\Http\Resources;

use App\Http\Requests\UserRequest;
use App\Models\User;
use Mirak\Lararestler\Attributes\QueryParam as QParam;
use Mirak\Lararestler\Exceptions\RestException;
use Mirak\Lararestler\Http\Resources\Resource;

class Users extends Resource{
    /**
     * Create a new user
     * 
     * @param UserRequest $postRequest
     * @return App\App\Http\Responses\UserResponse
     */
    public function post(UserRequest $postRequest)
    {
        $v = $postRequest->validate([
            'name' => ['r;
    }
}

/**
 * @param Illuminate\Http\Request $request
 * @url POST /test
 * @middleware auth:web,admin
 */
public function postTest(Request $request){
    //
}
shell
php artisan vendor:publish --tag=lararestler-config --tag=lararestler-assets