Laravel лучший способ сформировать HTML-форму и токен - PullRequest
0 голосов
/ 03 декабря 2018

Привет, я работаю с Laravel и у меня есть вопрос по поводу.Когда-то мы использовали для написания данных что-то вроде следующего.

<form action="insert.php" method="POST"> </form>

Теперь я видел в видео на Youtube и здесь, в stackoverflow, много фрагментов кода, где мы используем следующее:

<form action="{{URL::to('/insert')}}" method="POST">

Хотелось бы узнать, в чем разница?Во втором способе / insert указывает на файл или контроллер?Первый не так?Или это просто альтернативный способ старой моды?

Также я видел два способа вставки токена.Который лучший?Какие есть отличия?Оба работают одинаково?Что будет, если я не вставлю токен?

{{csrf_field()}}
@csrf

Спасибо за потраченное время!

1 Ответ

0 голосов
/ 03 декабря 2018

Что ж, когда вы делаете это:

<form action="insert.php" method="POST"> </form>

То, что вы делаете, явно указывает html-разметку относительный путь для публикации данных, в вашем случае index.php

Скажем, вы были по этому URL-адресу в своем приложении: http://myapp.com/some-page, и вы нажали кнопку отправки, что произойдет, если он отправит данные на этот относительный URL-адрес: http://myapp.com/some-page/index.php

Теперь причина использования вспомогательного фасада URL заключается в том, чтобы сделать URL-адреса относительно URL-адреса приложения.

Например, если вы определили в конфигурации приложения (или .env), чтоAPP_URL равно что-то вроде http://myapp.com, тогда, когда вы используете это: URL::to('/insert') будет выводить следующий URL: http://myapp.com/insert - независимо от того, на каком URL вы находитесь.

Надеюсь, это имеет смысл.Что касается этого:

{{csrf_field()}}
@csrf

Я полагаю, что они достигают того же, они генерируют скрытое поле ввода с вашим текущим токеном csrf.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...