PHP code example of guhemama / http-precondition-bundle
1. Go to this page and download the library: Download guhemama/http-precondition-bundle 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/ */
guhemama / http-precondition-bundle example snippets
namespace App\Controller;
use Guhemama\HttpPreconditionBundle\Annotations\Precondition;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Routing\Annotation\Route;
class QuestionController extends AbstractController
{
#[Precondition(expr: "1+1 > 2")]
#[Route('/question')]
public function index(): JsonResponse
{
return $this->json(['answer' => 42]);
}
}
use App\Entity\Question;
use Guhemama\HttpPreconditionBundle\Annotations\Precondition;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bridge\Doctrine\Attribute\MapEntity;
class QuestionController extends AbstractController
{
#[Precondition(expr: '!question.isAnswered()', message: 'Cannot answer an already answered question.', payload: ['error' => 'QUESTION_ALREADY_ANSWERED'])]
#[Route(path: '/question/{id}', methods: ['POST'])]
public function update(
#[MapEntity(Question::class)] Question $question
): Response
{
return new JsonResponse($question);
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.