These are chat archives for LaravelRUS/chat

26th
Mar 2017
dzetalabs
@dzetalabs
Mar 26 2017 00:10
@aios ага спасибо, 2 неделю изучаю фреймворк. Решил сразу с практики начать. Потихоньку вот набираю опыт. Сделал так whereRaw('company_id IN (select company_id from category_company where category_id='.$category_id.')'
Anton Vorontsov
@symbios-zi
Mar 26 2017 07:12
@dzetalabs через замыкание тоже можно
JhaoDa
@jhaoda
Mar 26 2017 09:01
@dzetalabs вот ты решил начать с практике, потратил своё и наше время на вопрос в чате, хотя ответ на него есть в доке
В чем смысл-то? Это же нерационально с точки зрения временных затрат.
Maksim (Ellrion) Platonov
@Ellrion
Mar 26 2017 09:11
Это ещё хорошо если там инъекции нет)
Anton Vorontsov
@symbios-zi
Mar 26 2017 10:32
@Ellrion что имеешь ввиду?
Raw?
Maksim (Ellrion) Platonov
@Ellrion
Mar 26 2017 12:36
Ну да. Там raw и вставляется параметр category_id. Мало ли откуда он
Anton Vorontsov
@symbios-zi
Mar 26 2017 13:03
@Ellrion это да. Народ же считает что если есть eloquent, то PDO, биндинг параметров знать не обязательно.
Alexey
@a1ex7
Mar 26 2017 13:21
Народ, а где стримы по созданию laravel.su проходят и в какой время? Не в записи, а именно онлайн
Anton Vorontsov
@symbios-zi
Mar 26 2017 14:12
@a1ex7 как стримерам захочется. Обычно тут в оффтопе можно узнать
@a1ex7 это что касается @SerafimArts .
Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 14:17
@a1ex7 так всё уже =)
ну т.е. стримов по сайтику больше не будет скорее всего, ничего интересного уже не осталось
да и в целом овчинка выделки не стоит, мало кому это интересно, объективно
Anton Vorontsov
@symbios-zi
Mar 26 2017 14:20
@SerafimArts ну потому что формат не удобный. гораздо удобнее сжато без воды смотреть на laracasts
Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 14:20
+
Anton Vorontsov
@symbios-zi
Mar 26 2017 14:20
но этого много гемороя как понимаю
Roman Gorlinskiy
@lafat
Mar 26 2017 14:24
Привет, подскажите SleepingOwlAdmin нормально работает с laravel 5.4?
KarmaBot
@KarmaBot
Mar 26 2017 14:24
@lafat, привет, как настроение?
Roman Gorlinskiy
@lafat
Mar 26 2017 14:25
@jhaoda никто не отвечает там, решил здесь попробовать
Abra Dabra
@abradabra
Mar 26 2017 16:33
@jhaoda спасибо. А сообщение зачем удалил? мне ж теперь заново писать прийдется(
KarmaBot
@KarmaBot
Mar 26 2017 16:33
Спасибо (+1) для @jhaoda принято! Текущая карма +1477.
Abra Dabra
@abradabra
Mar 26 2017 16:34
@jhaoda где можно посмотреть все каналы или румы?
Oleg Arkhipov
@Oleg-Arkhipov
Mar 26 2017 16:38
@abradabra кнопка с глобусом сверху-справа
KarmaBot
@KarmaBot
Mar 26 2017 20:47
Прувет, @zyabik!
Cyber Xucyc
@Cyber-host
Mar 26 2017 20:48
function get_item серьезно?
$r->fails()===false ?
Ps ?
...
zyabik
@zyabik
Mar 26 2017 20:49
Ps это модель
Cyber Xucyc
@Cyber-host
Mar 26 2017 20:49
echo :worried:
zyabik
@zyabik
Mar 26 2017 20:50
@Cyber-host нельзя echo?
@Cyber-host $r->fails()===false есть вариант получше?
Cyber Xucyc
@Cyber-host
Mar 26 2017 20:50
@zyabik ты laravel используешь или нет?
zyabik
@zyabik
Mar 26 2017 20:50
@Cyber-host да
Cyber Xucyc
@Cyber-host
Mar 26 2017 20:50
@zyabik ну так используй ларавел
zyabik
@zyabik
Mar 26 2017 20:51
@Cyber-host вот хочу узнать как эта функция должна выглязить правильно
выглядить*
Cyber Xucyc
@Cyber-host
Mar 26 2017 20:52
@zyabik тогда тебе сюда https://laravel.com/docs/5.4, потом сюда https://github.com/LaravelRUS/laravel.ru и т.д.
zyabik
@zyabik
Mar 26 2017 20:53
@Cyber-host зачем мне ссылки на установку?
Cyber Xucyc
@Cyber-host
Mar 26 2017 20:53
@zyabik ссылка на документацию
Arsen Soroka
@arsen-s
Mar 26 2017 20:54
@zyabik что такое $r?
zyabik
@zyabik
Mar 26 2017 20:54
@arsen-s результат валидации
Arsen Soroka
@arsen-s
Mar 26 2017 20:55
@zyabik я так понимаю когда у тебя будет больше чем 28 переменных ты перейдешь к плану "Б" $ra, $rb?
zyabik
@zyabik
Mar 26 2017 20:56
@arsen-s ну до такого ещё не дошло
Arsen Soroka
@arsen-s
Mar 26 2017 20:56
@zyabik и у тебя в коде все переменные по буквам названы?
zyabik
@zyabik
Mar 26 2017 20:57
@arsen-s
$r -relust
$q-query
больше иненадо
Cyber Xucyc
@Cyber-host
Mar 26 2017 20:57
Arsen Soroka
@arsen-s
Mar 26 2017 20:59
@zyabik у тебя таблица есть pss?
неужели ты и таблицы буквами называешь
zyabik
@zyabik
Mar 26 2017 21:00
@arsen-s Ахаха, нет конечно
JhaoDa
@jhaoda
Mar 26 2017 21:01
@zyabik тебе вообще стоит с нормального изучения PHP начать...
zyabik
@zyabik
Mar 26 2017 21:01
@arsen-s Меня интересует больше где тут есть ошибки с помощью которых можно сделать ошибку в выполнении кода
@jhaoda Ты типо профи, да? Скажи где тут может быть какая либо уязвимость в работе этой функции?
JhaoDa
@jhaoda
Mar 26 2017 21:02
@zyabik зачем? Ты планируешь и дальше писать код в таком стиле и тебя волнуют только уязвимости?
zyabik
@zyabik
Mar 26 2017 21:03
@jhaoda что бы в дальнейшем писать более безопасный код
@jhaoda со стилем я ещё не определился
JhaoDa
@jhaoda
Mar 26 2017 21:03
@zyabik более безопасный, но в таком же стиле?
@zyabik ну как определишься, тогда и о безопасности думать можно. Или ты уже в таком вот стиле пишешь продакшн-код?
zyabik
@zyabik
Mar 26 2017 21:04
@jhaoda Напиши эту функцию, так как ты себе её представляешь
JhaoDa
@jhaoda
Mar 26 2017 21:04
@zyabik что мне ещё сделать?
zyabik
@zyabik
Mar 26 2017 21:04
@jhaoda представляешь в своём стиле
Cyber Xucyc
@Cyber-host
Mar 26 2017 21:04
@zyabik со стилем уже определились за тебя, тебе только его придерживаться надо. не свой придумывать
zyabik
@zyabik
Mar 26 2017 21:04
@jhaoda ну а чё ты тут наежаешь тогда?
JhaoDa
@jhaoda
Mar 26 2017 21:05
@zyabik я представляю её так, как описано в PSR-2, ссылку на который тебе дали выше, и как рекомендуется в документации ларавел, ссылку на которую сам найдешь
Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 21:12
@zyabik давай намекну, твой код можно сократить до:
public function getItem(SomeFormRequest $request, Crypt $crypt): array
{
    $item = Ps::firstOrFail($request->get('id'));

    return [
        'l'       => $crypt->decrypt($item->login),
        'p'       => $crypt->decrypt($item->password),
        'comment' => $crypt->decrypt($item->comment),
        'status'  => true,
    ];
}
JhaoDa
@jhaoda
Mar 26 2017 21:15
@SerafimArts фига ты намекнул...
Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 21:16
ну норм, что
по крайней мере изучит инъекции в методы и форм реквесты
JhaoDa
@jhaoda
Mar 26 2017 21:17
@SerafimArts ждём вопроса "а куда преобразование в жысон вставить?" :)
Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 21:17
не ждём, он обиделся и убежал походу+
проверять :D
JhaoDa
@jhaoda
Mar 26 2017 21:18
@SerafimArts во-во, скопипастит и дальше херачить в старом стиле...
Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 21:19
@jhaoda так у него не заработает без понимания что за SomeFormRequest и откуда Crypt в аргументах
опять мимо
я же всё продумал, ты чего
и если вопросы будут - достаточно покидаться ссылками на доки
Dave
@aios
Mar 26 2017 21:22
@SerafimArts опять кто то доки не читает?)
Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 21:46
@zyabik тоже мимо
для начала отформатируй по PSR =)
zyabik
@zyabik
Mar 26 2017 21:47
Я так понял что тут нет никаких критических мест, входные данные какие не подаш они фильтруются движком?
Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 21:48
@zyabik есть
ты потерял форм реквесты
ты потерял фигурные скобки
у тебя лишний else
у тебя выборка id из массива, которого может не существовать
zyabik
@zyabik
Mar 26 2017 21:49
у тебя выборка id из массива, которого может не существовать
ты прав
Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 21:49
у тебя лишний id, т.к. выборка по pk - он не нужен
у тебя в условии сравнение с null, которое тоже не нужно, но на это пофигу
нет отступов - тоже плохо
ключевые слова в пыхе в нижнем регистре
методы в камелКейсе только
причём заметь, это проблемы и недоработки в 10 строчках кода =)
zyabik
@zyabik
Mar 26 2017 21:51

у тебя лишний id, т.к. выборка по pk - он не нужен

Что за pk?

Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 21:51
первичный ключ
Ps::where... -> Ps::find(...)
длина строки сократится раза в 3
ах да, у тебя фигурная скобка на первой строке не на той строчке
забыл пробелы после запятых
Oleg Arkhipov
@Oleg-Arkhipov
Mar 26 2017 21:53
<3
Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 21:53
забыл пробел после второго return
забыл пробел после if
забыл пробелы вокруг ===
забыл отбивку у второго ретурна
это всё, что касается по общепринятому в мире кодстайлу =)
zyabik
@zyabik
Mar 26 2017 21:56

это всё, что касается по общепринятому в мире кодстайлу =)

Но чёт у меня сомнения, что его все соблюдают

Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 21:56
@zyabik открой любые исходники
@zyabik вот примерно к такому коду ты должен стремиться: https://github.com/SerafimArts/gitter-api/blob/master/src/Resources/Rooms.php
@zyabik и да, ты не поверишь, но PSR везде, а крупные проекты используют дополнительно всякие phpcs, которые следят даже за отбивками внутри комментариев, так что ты очень наивен в своих суждениях =)
Oleg Arkhipov
@Oleg-Arkhipov
Mar 26 2017 22:00
@SerafimArts да он прав, не все соблюдают
@SerafimArts не клёвые ребята не соблюдают
Cyber Xucyc
@Cyber-host
Mar 26 2017 22:00
@Oleg-Arkhipov кто не все?
Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 22:00
@Oleg-Arkhipov игнорят во всяких вротпрессах и битриксах
Oleg Arkhipov
@Oleg-Arkhipov
Mar 26 2017 22:01
@Cyber-host не все разработчики на PHP
@Oleg-Arkhipov я даже сказал конкретно, кто - "не клёвые ребята"
Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 22:01
т.е. в третьесортных конторках с говнокодерами
Cyber Xucyc
@Cyber-host
Mar 26 2017 22:01
@Oleg-Arkhipov нынче разработчик растянутое понятие
zyabik
@zyabik
Mar 26 2017 22:02
public function get_item2(Request $reques){
    $item = Ps::find($reques->input('id'));
    if ($item === NULL)
    return ['status' => false];
    return[
    'status'    => true,
    'l'         => Crypt::decrypt($item->login),
    'p'         => Crypt::decrypt($item->password),
    'comment'   => Crypt::decrypt($item->comment),
    ];    
}
Теперь расскажите какие тут есть уязвимости в этом коде?
Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 22:02
и я даже извиняться за слова не буду, т.к. если человечек более или менее разумный - он не использует всякие битриксы
KarmaBot
@KarmaBot
Mar 26 2017 22:02
@SerafimArts, :see_no_evil: :fire:
Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 22:02
@zyabik говнокод, вот какие
zyabik
@zyabik
Mar 26 2017 22:02
@SerafimArts На return необращаем внимания
Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 22:02
просто никому никогда не показывай его и всё
Oleg Arkhipov
@Oleg-Arkhipov
Mar 26 2017 22:03
@zyabik нет бы там спасибо сказать хотя бы за прошлую кучу исправлений...
Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 22:03
да пофигу
zyabik
@zyabik
Mar 26 2017 22:03
Спасибо, всем особенно за супер пример @SerafimArts
KarmaBot
@KarmaBot
Mar 26 2017 22:03
Спасибо (+1) для @SerafimArts принято! Текущая карма +710.
Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 22:05
@zyabik так ты понял почему я написал SomeFormRequest, а не просто Request?
zyabik
@zyabik
Mar 26 2017 22:07
@SerafimArts честно не знаю, но догадываюсь, что она ускоряет разработку и позволят писать более короткий код
Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 22:08
@zyabik а заодно защищает твой код от невалидных данных, ага
zyabik
@zyabik
Mar 26 2017 22:08
@SerafimArts а можно ссылочку на SomeFormRequest, я чёт его найти не могу?
изи+
zyabik
@zyabik
Mar 26 2017 22:13
@SerafimArts чёт не могу найти SomeFormRequest, это точна та ссылка?
Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 22:13
@zyabik переведи для начала
что есть то, что я написал
zyabik
@zyabik
Mar 26 2017 22:14
@SerafimArts это ты как бы сам должен писать valiation....
Kirill Nesmeyanov
@SerafimArts
Mar 26 2017 22:14
ага, только не в том месте, где ты написал
+)
zyabik
@zyabik
Mar 26 2017 22:15
@SerafimArts да я понял всю суть, позваляет меньше кода писать и быстрее разрабатывать
@SerafimArts очень даже удобненько