HTTP Requests (HTTP-запити)
Отримання об'єкта HTTP-запиту
За допомогою фасаду
Фасад Request дає доступ до об'єкту HTTP-запиту:
Не забудьте використати конструкцію use Request; на початку файлу класу.
За допомогою DI (dependency injection)
Можна отримати об'єкт HTTP-запиту за допомогою DI (dependency injection, використання залежності). Спосіб полягає в тому, що в аргументи конструктора контролера міститься (type-hint) об'єкт, який нам потрібен, і Laravel, коли створює контролер, створює цей об'єкт (див. сервіс-контейнер) і подає на вхід конструктору контролера:
Якщо ваш метод контролера чекає на параметр з роуту, вкажіть його після залежностей:
Вхідні дані
Отримання вхідних даних
Об'єкт Illuminate Http Request надає доступ до вхідних даних, наприклад, до змінних POST або PUT, отриманих з форми. Вам не потрібно вказувати явно метод запиту, є універсальний метод:
Отримання змінної з дефолтним значенням
Визначення, чи міститься змінна у запиті
Отримати всі змінні запити
Отримати вибрані змінні
З масивами можна працювати через нотацію з точкою:
Попередні вхідні дані
Часто слід зберігати вхідні дані для наступного запиту. Наприклад, це потрібно для того, щоб після помилки користувача у формі не змушувати його знову вводити, а заповнити правильні поля самим.
Збереження запиту у flash-змінних сесії
Метод flash збереже поточні вхідні дані в сесії, тому вони будуть доступні в наступному запиті.
Збереження вибраних змінних запитів
Найчастіше нам потрібно зберегти дані та зробити редирект на урл із формою. У Laravel є спосіб записати це просто і коротко:
Отриманняпопередніх даних
Щоб отримати дані запиту, що зберігаються в сесії, використовуйте метод old :
Для використання у шаблонах можна використовувати цей простий хелпер:
Усі куки, які пише Laravel, зашифровані – це означає, що на клієнті вони не можуть бути змінені. Змінену на клієнті куку фреймворк просто не зможе розшифрувати та прочитати.
Отримання значення куки
Додати нову куку до запиту
Хелпер cookie створює об'єкт Symfony\Component\HttpFoundation\Cookie. Отриманий клас може бути доданий до HTTP-відповіді (response) методом withCookie:
Створення вічної куки
Отримання завантаженого файлу
Визначення, чи завантажувався файл у запиті
Метод file повертає екземпляр класу Symfony\Component\HttpFoundation\File\UploadedFile, який розширює стандартний PHP-клас SplFileInfo і містить всі його методи.
Визначення валідності завантаженого файлу
Переміщення завантаженого файлу
Інші методи роботи з файлами
Повний список методів класу SymfonyComponentHttpFoundationFileUploadedFile дивіться довідці API.
Інша інформація про запит
Request class забезпечує багато методів для розгортання HTTP request for your application and extends the Symfony\Component\HttpFoundation\Request class. Тут є деякі з highlights.
Клас Request надає безліч методів, що дозволяють працювати з HTTP-запитами у вашому додатку, є розширенням класу Symfony \ Component \ HttpFoundation \ Request . Ось деякі з основних методів: