Создаёте контроллер, например CronController (в консоли php artisan make:controller CronController):
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use Illuminate\Support\Facades\DB;
class CronController extends Controller
{
public function myCallback() {
echo __FUNCTION__;
}
}
Затем создаёте middleware, например с именем LocalhostOnly (в консоли php artisan make:middleware LocalhostOnly)
namespace App\Http\Middleware;
use Closure;
class LocalhostOnly
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
echo 'Middleware works!';
return $next($request);
}
}
Далее в app/Http/Kernel.php в массив $routeMiddleware дописывате 'localhostonly' => \App\Http\Middleware\LocalhostOnly::class
protected $routeMiddleware = [
'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'localhostonly' => \App\Http\Middleware\LocalhostOnly::class,
];
Теперь у вас есть Middleware с именем localhostonly
И наконец можно добавить урл, я добавил в web.php
Route::get('/my-page', 'CronController@myCallback')->middleware('localhostonly');
Если вы всё сделали верно - то по адресу /my-page вы должны увидеть
Middleware works!myCallback - то есть запрос прошел через middleware и дошел до нужного метода контроллера.