Rodion
всем привет! как вы организовываете в проекте unit-тесты и функциональные тесты? какая у вас структура папки tests?
Юрий
Rodion
c unit-тестами понятно
Rodion
там по классике
Юрий
Ну функциональные в папку отдельную вынеси или именуй около тестов контроллеров с префиксом например
Юрий
https://habrahabr.ru/company/mailru/blog/326696/
Интересная статья
Anonymous
Привет. Написал отдельный метод для валидации, в котором лежат массивы с правилами и сообщениями, и в конце него выполняется что-то вроде $this->validate($request, $rules, $messages);
Вызываю его внутри тех методов, которые что-то принимают для обработки, но - столкнулся с такой ситуацией, что если использую этот метод во всех методах для валидации, ловлю следующий глюк - не все методы принимают столько параметров, сколько принимает тот, для которого и писался метод валидации.
Т.е. по факту оно просто не работает, потому что метод ищет остальные переменные в post, которые указаны в $rules.
Один метод принимает 10 параметров, для которых и писался массив $rules. А другой метод принимает 1 параметр, но я хочу использовать старый массив $rules, просто выбрать оттуда одно, нужное мне правило.
Можно это обойти, используя в методе, который принимает один параметр явное указание на элемент массива, в котором содержится нужное мне правило?
Или я занимаюсь хернёй, и можно было бы просто для каждого метода писать свой $rules?
Вообще есть мысли про отдельный класс для этого, там сделать 2 метода для валидации. Один для метода, который принимает 10 параметров, а второй для методов, которые принимают один и тот же параметр(в моём случае ID), и использовать его везде.
Anonymous
В начале просто стоит задача избежать повторяемости кода, если я правильно понял принцип DRY.
Алексей
Если ты хочешь проверять только те параметры которые пришли, сделай array_intersect для ключей
Anonymous
Т.е., в методе валидации я пишу что-то вроде:
$request = array_intersect(array_keys($request->all()), $rules);
?
Anonymous
вообще, идея ясна, спасибо
Алексей
Ну примерно это я и имел в виду )
Алексей
только вот одна проблема, тут не будут валидироваться поля "required"
Anonymous
у меня, по идее, только 2 частных случая входных данных - в первом случае 10 параметров, во втором - только ID
Jakhongir
Добрый день, можно каким-либо образом добавить модель из кода? или запустить php artisan make:model из кода? нужно при добавлении новой сущности в админке, создавать модель
Anonymous
Как-то через php-cli может и можно. А как такая ситуация получилась?
Anonymous
Точнее - зачем новая модель на каждую сущность?
Jakhongir
есть готовый проект, база данных monogdb, там при добавлении новой сущности нужно определять класс, хотел попробовать автоматизировать этот процесс, пока не знаю почему реализовано именно так
Anonymous
Arthur'); DROP TABLE Users;--
https://laravel-news.com/higher-order-messaging
Откуда берется pay(); ? Это в модели функция?
Евгений
Да
Arthur'); DROP TABLE Users;--
Юрий
Господа, подскажите момент. Как разрабатываете? Условно создаю проект в шторме. Ставлю ларавел, коммичу. На сервере с этого репозитория куда коммитил разворачиваюсь, все верно?
Юрий
Просто во всей этой истории смущает один момент - файл env и ключи которые разные везде естественно
Юрий
Вопросов нет если поставить на сервере и стянуть себе простой синхрлнизацией, а как в эту схему гит уместить?
Dmitry
Гитигнор?
Eugene Goose
Нет, Юрий имеет ввиду, как развернуть проект на хостинге, включая сюда еще и ГИТ
Юрий
Да. В идеале типа коммитишь в гит - а на хостинге постхуком затягивает с него правки
Юрий
Но я не понимаю как тут соотносятся конфиги
Eugene Goose
Ну тогда Дмитрий прав
Eugene Goose
Конфиг на серваке отдельный придется делать
Eugene Goose
и гитигнор
Eugene Goose
но можно ж дефолтный взять и с него развернуться
Eugene Goose
Протсо единственное в него потом ключ придется сгенерить
Юрий
То есть суть в том что под контролем версий все кроме конфига, а конфиг уже ручками носишь?
Eugene Goose
Ага
Юрий
Ок, спасибо. Просто обсуждали тут как корректнее делать с человеком, интересно стало.
Eugene Goose
Просто у меня например на серваке одни пароли к БД на локалке вообще другие, в дефолтном конфиге прописал, имена различные подключения его через гит загнал на хост, а там уже генерирую в него просто ключ и дописываю пользователя БД и пароль
Eugene Goose
Особенно удобно, если ты не один на этом проекте
Eugene Goose
НАпример даже ветку отдельную создал и все остается только из дефолта бахнуть конфиг =)
Dmitry
Как рабочий вариант - хранишь на локалке .env.production, занесённый в гитигнор и при первом деплое льёшь его через scp в .env на серв, опционально с симлинком и забываешь про него до тех пор, пока конфигурации окружения не изменится на серве. А вообще для всяких ci и тревисов пишешь дефолтные и "открытые" настройки в .env.example, который уже заносишь в гит
Николай
Николай
а, ну или тут уже сказали, чё как
Viacheslav
Тут про env говорили, еще считается не круто его вносить т.к. все ключи апих и прочее не должно быть в репе
Dmitry
Так все и сказали, что сам .env надо в гитигнор внести )
Viacheslav
Я видел, это так, в дополнение)
Viacheslav
зато под коммитом env.example со всем, что используется в проекте
Viacheslav
под контролем версий*
Arthur'); DROP TABLE Users;--
я же правильно обращаюсь?
Gabit
Gabit
Просто first без get
Arthur'); DROP TABLE Users;--
не срабатывает. но когда юзаю $user['id'] то да
Gabit
И надо делать так where('telegram',$chat_id)->first()
Gabit
Распечатайте $user
Arthur'); DROP TABLE Users;--
Gabit
Как я написал
Gabit
Можно без =
Arthur'); DROP TABLE Users;--
ааа, это да
Arthur'); DROP TABLE Users;--
спасибо
Anonymous
Всем привет, подскажите какие-то статейки или просто советы об улучшении безопастности и оптимизации проекта
invariance
Слишком размыто
invariance
Думаю тебе хватит csrf защиты для начала
Anonymous
Ну для начала да, а более углубленно, есть какие-то хорошие статьи? Просто самой интересна эта тема и хотелось бы изучить подробней, а гугл выдает какую-то чушь
invariance
вперед на хабр
Oleg
всем привет. работал кто с Fabiang? пакет для работы с джаббером
Юрий
Народ, приветствую. Кто-нибудь сталкивался, что в laradock вместо 7.1 версии пыха собирается 7.0.четотам? На гитхабе есть обсуждение бага, но фикса пока нет. Может кто уже локально для себя нашел костыль?
Николай
Словил тут интересный вопрос на тестовом задании. Когда JOIN лучше не юзать в mysql?
Николай
ну, исключая случи, когда не нужно связывать таблицы вообще =)
Eugene
Когда связь 1 к многим. Когда ты те данные не будешь юзать в данном запросе)
Николай
пример можно? Не вдупляю, не спал ночь.
Виталий
Коля, иди поспи😉
Николай
Привет, Виталь =)
Артём🧘🏻♂️
Есть свободные разработчики на octobercms ?
Алексей
Жениться задумал? ))
Артём🧘🏻♂️
Aleserche
немного подзабыл, в middleware только строковые параметры можно передавать?
Aleserche
все, вспомнил
invariance
красава ежи
Pavel
привет парни. Посоветуйте лучше первый проект сделать на чистом laravel или на october cms ? Для себя чисто чтоб быстро получить практический опыт. Вроде как October это тот же Laravel, только с админкой
Юрий