Anonymous
Причем тут 1С?
Anonymous
Request это абстракция на $_GET\$_POST\$_REQUEST
Евгений
и ваще, попробуй еще так $request->add('blabla') = $blabla;
Александр
мне 1С будет в запросе присылать данные, я смогу их в реквест потом запихнуть?
Александр
Евгений, ща затестим
Евгений
но я не понимаю затеи
Anonymous
Я тоже
Евгений
так они и так будут реквестом с 1с
Anonymous
У тебя автоматом request создастся в контроллере
Александр
блин, тогда чего я парюсь
Евгений
хз))
Александр
я думал реквест с формы создается только
Anonymous
Ты в контроллере пропиши параметр Request $request
Anonymous
в методе
Евгений
в любом месте выведи реквест без всякиз форм, удивишься
Александр
а как можно тогда затестить вызов метода, если вручную реквест не создать? только через запрос?
Anonymous
эм
Anonymous
Где затестить?
Александр
короче когда я забивал переменные в свой storeAPI я мог по нажатию на любую кнопку затестить его обработку, сейчас мне для этого нужно реквест создать чтобы передать в него
Anonymous
Непонятно
Anonymous
)
Anonymous
Ты тесты через phpunit не делаешь?
Александр
нет
Anonymous
Начни
Александр
ок, ушел изучать
Anonymous
В папочке tests сделай файлик MyControllerTest
Anonymous
В нем class MyControllerTest extends \TestCase
Anonymous
и там пиши тест
Anonymous
https://laravel.com/docs/5.2/testing уже читаешь?
Anonymous
Тебе подойдет либо https://laravel.com/docs/5.2/testing#testing-json-apis
Александр
https://phpunit.de/documentation.html
Anonymous
Либо https://laravel.com/docs/5.2/testing#custom-http-requests
Anonymous
Не, доку по phpunit не читай пока )
Anonymous
Ты там утонешь
Anonymous
Вот по линкам пробегись
Александр
ок, а чтобы сделать интеграцию с 1С (я хочу чтобы из 1с могли отправлять запросы для добавления данных в таблицу) мне будет необходимо будет прикрутить на какой-нибудь url обработчик post с данными и они автоматически в массив реквест попадут?
Anonymous
ну да
Anonymous
а как ты до этого хотел?)
Александр
никак не хотел, не думал еще) двигаюсь поступательно)
Александр
вначале создал crud со всеми операциями по таблице, сейчас вот думаю как с апи делать)
Евгений
да чо делать то
Евгений
идет пост запрос, принимаешь и все
Anonymous
Ну не понимает человек ) путается
Anonymous
бывает
Александр
вообще интересно, изменять данные созданного реквеста можно, а создать свой нет?
Anonymous
можно
Anonymous
но не просто new Request
Александр
я делал dd реквеста - выдавал объект с теми полями которые я ему вбил
Александр
видимо там какие-то доп поля записываются
Евгений
как я показал через add сделай
Anonymous
Там не просто stdClass с полями
Евгений
и dd($request->all())
Anonymous
Вообще там add массив принимает
Anonymous
/**
* Adds parameters.
*
* @param array $parameters An array of parameters
*/
public function add(array $parameters = array())
Anonymous
а стоп
Евгений
http://laraveldaily.com/how-to-artificially-add-values-to-request-array/
Евгений
$plan = 123;
$request->request->add(['plan' => $plan]);
Anonymous
да, там на request надо вызывать
Anonymous
А то я чет залип где ты там add() нашел )
Anonymous
А можно через конструктор
Anonymous
Ну в общем разберешься )
Александр
а post запрос обеспечивает безопасный обмен данными?
Anonymous
что значит безопасный?
Александр
если у меня будет обработчик post запроса - как защититься от левых запросов?
Anonymous
ключ?)
Александр
ок)
Anonymous
схема обычно такая:
клиенту выдается секретный ключ.
Он берет весь запрос и подписывает его, вроде:
md5($a.$b.$c.$d.$key);
Anonymous
Затем ты берешь запрос и так же подписываешь у себя
Anonymous
И если md5 совпадают, то все ок
Anonymous
Но это самый простой пример
Александр
недавно читал что шифрование md5 уже не актуально для логинов/паролей
Александр
это к слову
Anonymous
Я для примера привел
Anonymous
Там не суть, можешь хоть openssl генерить подпись
Anonymous
Просто суть в том, что подписываются параметры запроса, и в запросе со всеми параметрами отсылается подпись
Anonymous
Ты потом так же ее проверяешь
Александр
верно я понимаю что вот этот тест будет просто отправлять post и ничего не проверять?
http://joxi.ru/YmENE4yIZpKRp2?d=1
Anonymous
да
Anonymous
тебе надо теперь сделать свои проверки после этого
Anonymous
например $this->assertResponseOk();