PHP code example of bertvanhoekelen / scribe-annotations
1. Go to this page and download the library: Download bertvanhoekelen/scribe-annotations 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/ */
bertvanhoekelen / scribe-annotations example snippets
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
use Magwel\ScribeAnnotations\Attributes\ApiResource;
class UserController
{
#[ApiResource(User::class, UserResource::class)]
public function __invoke(): AnonymousResourceCollection
{
$users = User::all();
return UserResource::collection($users);
}
}
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
use Magwel\ScribeAnnotations\Attributes\ApiResource;
class UserController
{
#[ApiResource(User::class, UserResource::class, statusCode: 201)]
public function __invoke(): AnonymousResourceCollection
{
$users = User::all();
return UserResource::collection($users);
}
}
class TestUserFactory extends Factory
{
protected $model = TestUser::class;
public function randomState(): self
{
return $this->state(function () {
return [
'randomState' => true,
];
});
}
public function definition(): array
{
return [
'first_name' => 'Tested',
'last_name' => 'Again',
'email' => '[email protected]',
];
}
}
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
use Magwel\ScribeAnnotations\Attributes\ApiResource;
class UserController
{
#[ApiResource(User::class, UserResource::class, factoryStates: ['randomState'])]
public function __invoke(): AnonymousResourceCollection
{
$users = User::all();
return UserResource::collection($users);
}
}
use App\Models\User;
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
use Magwel\ScribeAnnotations\Attributes\ApiResource;
class UserController
{
public function __invoke(): UserResource
{
$users = User::first();
return new UserResource($users);
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.