Могу ли я определить любой маршрут без функции обратного вызова в laravel? - PullRequest
2 голосов
/ 09 января 2020

Чтобы зарегистрировать маршрут, я указываю маршрут в web.php следующим образом,

Route::get($uri, $callback)->name($name);

Есть ли способ сделать это без какой-либо определенной c функции обратного вызова?

Я создаю laravel веб-сайт, но некоторая часть сделана с perl. Мне нужно отправить форму по адресу, где код perl вступает во владение. Однако, поскольку форма используется во многих местах, я хочу использовать часть $name в качестве действия формы внутри моих кодов переднего плана.

По сути, я хочу что-то вроде этого,

Route::get('cgi-bin/route_to_perl_program.cgi', "DO NOTHING. LET PERL DO IT JOB")->name($url_name);

Ответы [ 2 ]

1 голос
/ 09 января 2020

Если вы не определяете какую-либо функцию $callback, нет необходимости определять маршрут в web.php. Поскольку вы хотите использовать route('name') для получения этого url во всех файлах блейдов, существует альтернатива . Вам нужно добавить эту строку кода в config/app.php следующим образом:

perl_url => 'cgi-bin/route_to_perl_program.cgi',

и использовать их в своем клинке, например,

<a href="{{ config('app.perl_url')}}">link text</a>

Это не ваш ответ, это может быть решением вашей конкретной задачи.

В вашей функции $callback запустите команду для выполнения файла perl, верните вывод и верните который выводится как response., например:

.....
$yourPerlOutPut = exec('perl  ~/your/path/yourfile.pl'); 
return response($yourPerlOutPut);

exe c () выполняет заданную команду .

0 голосов
/ 09 января 2020

Вы можете поместить свой файл route_to_perl_program.cgi в папку public и получить доступ к yourdomain.com/route_to_perl_program.cgi. Это будет работать. Вам не нужно указывать маршрут.

Или попробуйте что-то вроде следующего

Route::get('cgi-bin/route_to_perl_program.cgi', function(){
    exec('cgi-bin/route_to_perl_program.cgi');
})->name($url_name);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...