PHP code example of laragear / expire-route

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

    

laragear / expire-route example snippets


use Illuminate\Support\Facades\Route;
use App\Models\Payment;
use App\Models\Party;

Route::get('/payment/{payment}', function (Payment $payment) {
    // ...
})->middleware('expires');

use Illuminate\Support\Facades\Route;
use App\Models\Payment;

Route::get('payment/{payment}', function (Payment $invite) {
    // ...
})->middleware('expires');

use Illuminate\Support\Facades\Route;
use App\Models\Payment;
use App\Models\Detail;

Route::get('payment/{payment}/detail/{detail}')
    ->uses(function (Payment $payment, Detail $detail) {
        // ...
    })
    ->middleware('expires:payment');

use Illuminate\Support\Facades\Route;
use App\Models\Payment;

Route::get('payment/{payment}', function (Payment $payment) {
    // ...
})->middleware('expires:payment.due_at');

use Illuminate\Support\Facades\Route;
use App\Models\Payment;

Route::get('payment/{payment}', function (Payment $party) {
    // ...
})->middleware('expires:payment,60');

use Illuminate\Support\Facades\Route;
use App\Models\Payment;

Route::get('payment/{payment}', function (Payment $party) {
    // ...
})->middleware('expires:payment.issued_at,24 hours');

namespace App\Models;

use DateTimeInterface;
use Illuminate\Database\Eloquent\Model;
use Laragear\ExpireRoute\Contracts\RouteExpirable;

class Payment extends Model implements RouteExpirable
{
    // ...
    
    public function routeExpiresAt(): DateTimeInterface
    {
        return $this->created_at->addMinutes(60);
    }
}

use Illuminate\Support\Facades\Date;
use Illuminate\Support\Facades\Route;

class Thing
{
    public function __construct(public $expiredAt)
    {
        // 
    }
}

Route::bind('thing', fn($time = 'now') => new Thing($value));

Route::get('some/{thing}', function (Thing $thing) {
    // ...
})->middleware('expires:thing.expiredAt');

use Illuminate\Support\Facades\Route;
use Laragear\ExpireRoute\Http\Middleware\Expires;

// Set the parameter name and attribute
Route::get('/payment/{payment}/details/{detail}')
    ->middleware(Expires::using('payment.expiration_time'));

// Set the relative amount of time to check.
Route::get('/payment/{payment}')
    ->middleware(Expires::in(1)->hour()->and(30)->minutes());

// Set the relative amount of time to check.
Route::get('/payment/{payment}')
    ->middleware(Expires::after('60 minutes');