These are chat archives for LaravelRUS/chat

19th
Jul 2016
Alex D. Bubenchikov
@altpoint
Jul 19 2016 00:59
Появилась крайне утопическая задача: индексировать ВСЕ загружаемые пользователями файлы. Это как бы фигня, через middleware решается, но тут я получаю только то что было отправлено. Логично, что чаще всего происходит после этого в каком-либо контроллере File::move или rename. Внимание вопрос: есть у кого идеи как можно отслеживать файлы после перемещения такого? Как получать путь до этих файлов перемещённыъ, кроме как писать в каждом месте контроллере перехват этих данных?
Maxim
@Big-Shark
Jul 19 2016 01:05
@altpoint написать врапер над функциями файлов?
Роман Сохарев
@greabock
Jul 19 2016 01:06
Очевидно, тебе нужна обертка над filesystem
@Big-Shark в голос =)
Alex D. Bubenchikov
@altpoint
Jul 19 2016 01:13
@Big-Shark согласен. Есть где пораскуривать как такой врапер сделать? Придётся всю цепочку восоздавать до сервайс провайдера или чего? Я чёт под утро уже туплю
@greabock не подскажешь как сделать обвёртку эту? Мне всего то один метод переопределить надо move
Andrey Baksalyar
@Baksalyar
Jul 19 2016 01:19
Господа разработчики, здравствуйте! Возникла странная проблема. Laravel 5.2.39 отказывается сбрасывать конфиг .env, показывая по env('DB_DATABASE') старое имя базы данных. Т.е. я меняю в .env имя на другое, сбрасываю кеш конфигурации при помощи artisn config:cache/clear, однако DB_DATABASE старя. В config/database.php такого имени не прописано. Что я делаю не так?
KarmaBot
@KarmaBot
Jul 19 2016 01:19
Hello, @Baksalyar!
Andrey Baksalyar
@Baksalyar
Jul 19 2016 01:20
В кач-ве базы данных использую sqlite
Роман Сохарев
@greabock
Jul 19 2016 01:22
@altpoint
class MyMegaFsWrapper {
   public function __construct(Filesystem $fs, MyMegaIndexator $indexator){
          $this->fs  = $fs;
          $this->indexator = $indexator;
   }

  public function saveUserFile($fileResourceLink, $filename){
        // 1. тут индексация
         $this->indexator->index($fileResourceLink, $filename);
         // 2.  тут мувы-хренувы и проч
         $this->fs->doSomeThing();
   }

}
Maxim
@Big-Shark
Jul 19 2016 01:23
@Baksalyar rm -rf папочку с кешем
Andrey Baksalyar
@Baksalyar
Jul 19 2016 01:23
Ищу в папке проекта название старой БД - оно находится только в логах, что интересно.
Alex D. Bubenchikov
@altpoint
Jul 19 2016 01:26
@greabock и вокруг этого класс провайдера и в провайдерах в config/app.php вместо Illuminate\Filesystem\FilesystemServiceProvider::class указать свою обвертку для провайдера. Пральна?
Andrey Baksalyar
@Baksalyar
Jul 19 2016 01:27
@Big-Shark Максим, папка кэша - та, что в storage, как я понимаю? Если она, то она была пустой и ее удаление ничем не помогло
Роман Сохарев
@greabock
Jul 19 2016 01:27
@altpoint нахрена
@altpoint в контороллере
function save(SomeFormRequest $request, MyMegaFsWrapper  $fs){
   $fs->saveUserFile(#...);
}
Alex D. Bubenchikov
@altpoint
Jul 19 2016 01:29
@greabock вопрос конечно уместный, но: перемещение файлов применяется в разных сторонних пакетах ( в частности совинную админку юзаю). Там ест ьвсякие сохранения и перемещения файлов. Оно же мой класс не заюзает, а мну надо ваашпе везде что бы файлы перемещённые перехватывались. А там оно вообще калбэком к динамически регистрируемому роуту впендирено. Т.е. мне надо переопределить именно метод move во всей ларке повсеместно, а не просто в контроллере одном
Роман Сохарев
@greabock
Jul 19 2016 01:30
окей...
@altpoint тогда два варианта
  1. Расширить Filesystem и подменить в контейнере
  2. заюзать goaop
Maxim
@Big-Shark
Jul 19 2016 01:32
@Baksalyar очень странно, то есть енв файле ты поменял, а в конфиги енв возвращяет все тоже значение?
Andrey Baksalyar
@Baksalyar
Jul 19 2016 01:32
А где еще могут храниться конфигурационные данные? Даже интересно, где он так жестоко закешировал это дело...
Alex D. Bubenchikov
@altpoint
Jul 19 2016 01:33
@greabock ху из goaop?
Andrey Baksalyar
@Baksalyar
Jul 19 2016 01:33
Ага, вообще везде и все поменял. Ума не приложу где еще искать. Полнотекстовый поиск по всем файлам не находит то, что выдает env() на странице и в ошибках "не могу сконнектиться, т.к. такой базы не существует".
Роман Сохарев
@greabock
Jul 19 2016 01:34
Maxim
@Big-Shark
Jul 19 2016 01:34
@Baksalyar ну он вонфиги кеширует, и все, больше нигде, так что странно
Andrey Baksalyar
@Baksalyar
Jul 19 2016 01:34
Хммм.
Alex D. Bubenchikov
@altpoint
Jul 19 2016 01:35
@greabock ты юзал уже это чудо?
Роман Сохарев
@greabock
Jul 19 2016 01:36
@altpoint пока только как эксперимент
Maxim
@Big-Shark
Jul 19 2016 01:36
@Baksalyar если ты мне пишешь, то пиши плиз через @, а то я не получаю уведомления)
Alex D. Bubenchikov
@altpoint
Jul 19 2016 01:37
@greabock как японял сие чудо якобы позволяет врезаться в выполнение методов разных классов, пральна?
Роман Сохарев
@greabock
Jul 19 2016 01:37
@altpoint типа того
ну не прямо в методы, а "до", "после" или "вместо"
Alex D. Bubenchikov
@altpoint
Jul 19 2016 01:38
@greabock тогда оно не вкатит жеж, ибо метод move возвращает boolean а не значение
Роман Сохарев
@greabock
Jul 19 2016 01:39
ну параметры же он принимает
Роман Сохарев
@greabock
Jul 19 2016 01:45
грубо и схематично если отобразить, то выглядит это так :
function before($params){
      #... do something before
    return $params;
}

function after($result){
    #... do something after
    return $result;
}

after($obj->do(before($params)));
Alex D. Bubenchikov
@altpoint
Jul 19 2016 01:52
@greabock спасибо
KarmaBot
@KarmaBot
Jul 19 2016 01:52
Спасибо (+1) для @greabock принято! Текущая карма +404.
Alex D. Bubenchikov
@altpoint
Jul 19 2016 01:52
@greabock у тебя прям чёткая карма теперь =)
Maxim
@Big-Shark
Jul 19 2016 01:52
@greabock not found
Alex D. Bubenchikov
@altpoint
Jul 19 2016 01:56
@greabock получается мне надо ловить загружаемые файлы и при переносе их ещё и дописывать данные. При загрузке есть объект типа UploadedFile, а вот при move его нет и взять то его по сути становится некоткуда. Наверно придётся врезаться ещё куда то
Роман Сохарев
@greabock
Jul 19 2016 01:57
@altpoint блин, ну ты же при загрузке его проиндексировал, так? Значит инфа о нем есть уже. При перемещении, ты изменяешь привязанный к нему индекс.
Alex D. Bubenchikov
@altpoint
Jul 19 2016 01:58
@greabock ты имеешь ввиду по темповому имени его ловить при перемещении? других то данных мне не соотнести. Пральна?
Роман Сохарев
@greabock
Jul 19 2016 01:59
@altpoint ну наверное так. Я хз, какая там у тебя имплементация будет)
Alex D. Bubenchikov
@altpoint
Jul 19 2016 02:00
@greabock дэк больше ник получается, всё остальное может быть хренову тучу раз изменено в контроллере.
Alex D. Bubenchikov
@altpoint
Jul 19 2016 04:56
@greabock чёт свой провайдер сделал на свой врапер, а оно чёт не алё совсем. Прям ваашпе не реагирует никак.
@greabock а всё потому что все файлы загружаемые переносятся нифига не filesystem, а Symfony\Component\HttpFoundation\File\UploadedFile . А вот тут уже проблема как туда вписаться
нверное только спомщью той приблуды
adminko
@adminko
Jul 19 2016 05:20
Использую Log::debug для логгирования приходящих запросов, все ок. Возникла необходимость вынести метод который пишет логи в трейт для доступа с нескольких контроллеров. Логи работают, но появились непонятные артефакты http://hkar.ru/JPil
подскажите что с этим можно сделать, по ссылке скрин отрывка лога
Alex D. Bubenchikov
@altpoint
Jul 19 2016 05:47
@adminko судя по всему у тебя где то данные в не той кодировке
adminko
@adminko
Jul 19 2016 05:49
дело в том что эти артифакты появляются безсистемно и их разное количество
дело не в кодировке, т.к. там ничего не должно быть в принципе
Andrey Helldar
@andrey-helldar
Jul 19 2016 05:56
@adminko но, судя по скрину, именно в кодировке дело... Во всяком случае, там что-то да написано.
adminko
@adminko
Jul 19 2016 05:58
это не текст
в другой кодировке, бинарно это один символ повторяется
Log::debug(
        $request->method() . " " . $request->path(), [
        'email'  => $request->getUser(),
        'cc'     => $this->cc,
        'ims'    => $this->ims,
        'pass'   => $request->getPassword(),
        'bearer' => $request->bearerToken(),
        'body'   => $request->getContent(),
      ]);
как видно из скрина артефакт появляется перед меткой времени, т.е. данные которые я передаю в конце строки. каким то образом это генирирует сам Log но почему?
Andrey Helldar
@andrey-helldar
Jul 19 2016 06:05
This message was deleted
@adminko попробуй файл лога открыть с другой кодировкой.
@jhaoda Приветствую! Отписал тебе в личку, время будет - глянь сообщение.
adminko
@adminko
Jul 19 2016 06:08
та не текст это и не инетрпретируется эта ересь ни под какой кодировкой, логи utf8
Andrey Helldar
@andrey-helldar
Jul 19 2016 06:10
@adminko логи utf8, а ты принудительно открой каким-нить win1251. Из пустоты же не может что-то взяться...
Во всяком случае, попробуй.
adminko
@adminko
Jul 19 2016 06:14
есть кто-нибудь кто читает что я пишу
Alex D. Bubenchikov
@altpoint
Jul 19 2016 06:27
@adminko ну дак тебе ж сказали кто что думает по этому поводу. У тебя вопрос я так понял не что это, а какого хрена оно взялось вообще?
@adminko покажи весь код метода в трейте
adminko
@adminko
Jul 19 2016 06:35
показал же
Alex D. Bubenchikov
@altpoint
Jul 19 2016 06:40
@adminko это всё что там есть?
тогда после открывающейся скобки Log::debug( убери перенос строки, мож поможет
adminko
@adminko
Jul 19 2016 06:44
причем тут переносы строки? раньше артефактов не было, в трейте они появились, код не менялся. параметрам метода плевать на перенос строки
Maxim
@Big-Shark
Jul 19 2016 06:44
@adminko скинь этот файл на файло хранилише, я попробую у себя открыть
adminko
@adminko
Jul 19 2016 06:48
запрещено, как бе
butschster
@butschster
Jul 19 2016 06:55
@adminko я вижу там послание инопланетян! https://www.youtube.com/watch?v=RirqnBUQTEU Попробуй этот текст распечатать и срочно на rentv!
Alex D. Bubenchikov
@altpoint
Jul 19 2016 06:56
Кто-нибудь вкурил как заводить этот велосипед для конкретного класса?
Alex D. Bubenchikov
@altpoint
Jul 19 2016 07:09
@greabock подскажи как с этим жить теперь? Как мне в конкретный класс вмешатся теперь с этой штукой? У меня пока всё подряд сыпется
Maxim
@Big-Shark
Jul 19 2016 07:26
Парни, вопрос, вот у вас есть некий сервис с тарифными планами, всего у вас 3 тарифных плана с разными условиями, вопрос, гду вы будете хранить тарифные планы?
Alexander
@Dualse
Jul 19 2016 07:28
@Big-Shark Я так понимаю вариант с двумя таблицами: тарифы и условия не устраивает? Или есть какой-то подводный камень?
Maxim
@Big-Shark
Jul 19 2016 07:29
@Dualse мне интересно кто как делает, у меня есть конечно свой взгляд на это дело, и он отличается от того что ты предлагаешь)
Alexander
@Dualse
Jul 19 2016 07:30
@Big-Shark А одно условие может быть у разных тарифов?
Alex D. Bubenchikov
@altpoint
Jul 19 2016 07:31
@Big-Shark мы делали из 1С по Soap запрашивали инливидуально для пользователя и кешировали ( отображение) А баланс запрашивали просто по расписанию, а оплату всегда с запросом в командную шину
Soprun Vladislav
@vlsoprun
Jul 19 2016 07:32
Всем привет
KarmaBot
@KarmaBot
Jul 19 2016 07:32
Будь как дома, @vlsoprun, я ни в чем не откажу. Много мануалов, коль желаешь, покажу :)
Alexander
@Dualse
Jul 19 2016 07:32
Епт, я вопрос не правильно прочитал)
alexspi
@alexspi
Jul 19 2016 07:33
всем привет
KarmaBot
@KarmaBot
Jul 19 2016 07:33
@alexspi, и тебе привет ;)
Soprun Vladislav
@vlsoprun
Jul 19 2016 07:33
@alexspi здорова
yuriy
@omadonex
Jul 19 2016 07:34
Всем привет! Подскажите плиз, чем отличаются правила валидации: mimes и mimetypes, я что то никак не могу адекватно понять их различия
KarmaBot
@KarmaBot
Jul 19 2016 07:34
Не узнал тебя, @omadonex. Богатым будешь :)
alexspi
@alexspi
Jul 19 2016 07:35

@butschster вот тут я не совсем уверен , есть работающий запрос

INNER JOIN LINK_LA_TYP ON LAT_TYP_ID = @TYP_ID AND LAT_GA_ID = LGS_GA_ID

и в нём on идёт с переменной

Alexander
@Dualse
Jul 19 2016 07:36
Кстати, вопрос глупый, но все же. Как в FormRequest получить входящие данные? Хочу при обновление исключить определенное значение для проверки на уникальность.
Maxim
@Big-Shark
Jul 19 2016 07:38
@Dualse может, а могут быть и разные
@alexspi ну с 1с это немного другое.
alexspi
@alexspi
Jul 19 2016 07:40
@Big-Shark О_о , а при чем здесь 1с ?
JhaoDa
@jhaoda
Jul 19 2016 07:40
@omadonex в доке же всё написано
yuriy
@omadonex
Jul 19 2016 07:42
@jhaoda у меня тут случай смотрю в книгу, вижу... я просто пытаюсь перевести, чтобы понятно было, но чет не очень удается
Maxim
@Big-Shark
Jul 19 2016 07:42
@alexspi тьфу ты, не тот ник, я писал @altpoint
@jhaoda а ты бы как сделал?
JhaoDa
@jhaoda
Jul 19 2016 07:42
@Big-Shark я томат :)
yuriy
@omadonex
Jul 19 2016 07:42
@jhaoda ))))
Soprun Vladislav
@vlsoprun
Jul 19 2016 07:43
:smile:
yuriy
@omadonex
Jul 19 2016 07:43
@jhaoda я единственное что понял, что в одном случае проверяется расширение, а в другом сам тип файла, но в том случае, когда проверяется расширение, вроде как написано, что тип файла тоже проверяется. вот я и не пойму, чем они отличаются
JhaoDa
@jhaoda
Jul 19 2016 07:43
@omadonex что именно тебе не понятно? Один проверяет СТРОГО тип на основании контента, второй — по расширению
yuriy
@omadonex
Jul 19 2016 07:44
@jhaoda написано в mimes: Even though you only need to specify the extensions, this rule actually validates against the MIME type of the file by reading the file's contents and guessing its MIME type.
JhaoDa
@jhaoda
Jul 19 2016 07:44
Хм, это новая приписка
Ну, видимо, что-то поменяли недавно
Anton Vorontsov
@symbios-zi
Jul 19 2016 07:45
всем утра
yuriy
@omadonex
Jul 19 2016 07:45
@jhaoda вот я поэтому и спрашивал :)
JhaoDa
@jhaoda
Jul 19 2016 07:46
@symbios-zi ты вчера про защиту от скачков что именно спрашивал? Я же писал, что у нас письмо приходит при резком скачке курса без автоматической переоценки
@omadonex посмотри в код этих правил, заодно и нам потом расскажешь
Anton Vorontsov
@symbios-zi
Jul 19 2016 07:46
@jhaoda да вот и уточнял с какой целью сделали. И если это все ночью происходит, то что произойдет? тоже сообщение?
yuriy
@omadonex
Jul 19 2016 07:47
@jhaoda ок
alexspi
@alexspi
Jul 19 2016 07:47
во пока все тут может подскажет кто
есть sql запрос http://laravel.io/bin/W40PV
я его переделал под ларку http://laravel.io/bin/32lP2 но значение переменной $typemodels он при запросе в кавычки заворачивает, и соответственно не пашет
JhaoDa
@jhaoda
Jul 19 2016 07:48
@symbios-zi да, пока что так. Может быть в процессе и придумаем иной алгоритм
Maxim
@Big-Shark
Jul 19 2016 07:48
@alexspi а почему он не должен запорачивать?
butschster
@butschster
Jul 19 2016 07:49
@alexspi а итоговый результат ты смотрел?
@alexspi
public function where($first, $operator = null, $second = null, $boolean = 'and')
    {
        return $this->on($first, $operator, $second, $boolean, true);
    }
метод where внутри join
Nuzsk
@Nuzsk
Jul 19 2016 07:54
@omadonex все думаю, что же твоя аватарка напоминает
@omadonex вспомнил таки https://www.youtube.com/watch?v=f1mRrcymDgU
yuriy
@omadonex
Jul 19 2016 07:54
@Nuzsk хаха )
@Nuzsk не ) это снеговик из моего фильма
@Nuzsk мы снимали новогоднюю сказку и я играл снеговика, этот шарик - папье-маше
@Nuzsk и он одевался как купол на голову ) шарф скрывал все огрехи
Roman Milyushkevich
@rom4eg999666
Jul 19 2016 07:59
Всем привет. Можно ли как-то сделать 2 left join'а одной таблицы, но разных колонок(в моём случае 2) и без дубликатов(не используя GROUP BY), а так же не используя select вjoin'ах. С подзапросами всё ок, но это медленно. Есть вариант, конечно не использовать GROUP BY и уже на стороне лары мержить дублирующиеся row, а затем удалять дубликаты. Какой вариант будет адекватным?
KarmaBot
@KarmaBot
Jul 19 2016 07:59
@rom4eg999666 и тебе не хворать :)
yuriy
@omadonex
Jul 19 2016 08:01
@jhaoda в общем в одном случае (mimes) используется функция guessExtension, в другом (mimetype) - getMimeType. Но guessExtension использует getMimeType. Получается, что практически одно и то же
JhaoDa
@jhaoda
Jul 19 2016 08:06
@omadonex короче, я сам посмотрел :) Всё наоборот.
mimes:jpg берёт mime-тип и по нему определяет, какое расширение должно быть у файла, потом сравнивает с параметрами
mimetypes:image/jpeg берёт mime-тип и сравнивает с параметрами, не беря во внимание расширение
Т.е. mimes по уму надо бы переименовать в extensions
yuriy
@omadonex
Jul 19 2016 08:11
@jhaoda в общем если я хочу чтобы у меня был, например, строго pdf файл, нужно использовать mimetypes (чтобы избежать проблем с подменой расширения). верно?
JhaoDa
@jhaoda
Jul 19 2016 08:12
@omadonex желательно оба, иначе можно загрузить pdf с именем my.doc и браузер при попытке скачать будет считать его вордовским документом
yuriy
@omadonex
Jul 19 2016 08:13
@jhaoda ага, спасибо за помощь
JhaoDa
@jhaoda
Jul 19 2016 08:19
Второй день приходит народ и холиварит про ларавель и юи. Мне кажется, юишники начинают что-то подозревать :)
Soprun Vladislav
@vlsoprun
Jul 19 2016 08:20
:smile:
Ivan
@Hunternnm
Jul 19 2016 08:20
Всем привет!
KarmaBot
@KarmaBot
Jul 19 2016 08:20
@Hunternnm, привет =)
Soprun Vladislav
@vlsoprun
Jul 19 2016 08:20
@Hunternnm Привет!!
Maxim
@Big-Shark
Jul 19 2016 08:23
@jhaoda а где второй раз, я только вчера видел холивар
JhaoDa
@jhaoda
Jul 19 2016 08:24
@Big-Shark ночью мой земляк приходил
Dmitry
@Visionary89
Jul 19 2016 09:05
Привет всем! Коллеги, а есть кто-то среди вас, кто использует очереди и управляет воркерами (как и всем проектом) через forge?
Alex D. Bubenchikov
@altpoint
Jul 19 2016 09:15
@greabock (эта херовина )[https://github.com/goaop/goaop-laravel-bridge] ловит только контроллеры и http всякое. Для переопределения не вкатывает.
Пацаны, как сделать по красоте переопределение метода move у Symfony\Component\HttpFoundation\File\UploadedFile ? Задача такая: сделать индекс любого загружаемого в проекте файла. При загрузке я отлавливаю всё нормально через middleware, но как правило загружаемые файлы переносятся методом move в дальнейшем, мне надо его переопределить
JhaoDa
@jhaoda
Jul 19 2016 09:20
@altpoint не понял, зачем тебе его переопределить надо?
Покажи на примере, что тебя не устраивает и как ты хочешь, что бы оно было
Alex D. Bubenchikov
@altpoint
Jul 19 2016 09:21
@jhaoda я хочу в момент перемещения файла поймать его новый путь
ValeryYahorau
@ValeryYahorau
Jul 19 2016 09:22
Всем привет.
$phasetMembers = $phase->members(); - hasMany в модели.
если я сделаю
for ($i = 1; $i <= $phasetMembersCount; $i++) {
$phaseMembers[i]->status = 'deleted';
$phaseMembers[i]->save();
}
Сработает ли так save ? или через Eloquent hasMany такое не пройдет ?
KarmaBot
@KarmaBot
Jul 19 2016 09:22
@ValeryYahorau и тебе не хворать :)
JhaoDa
@jhaoda
Jul 19 2016 09:22
@altpoint новый путь задаешь ты, что значит «поймать»?
@ValeryYahorau оформи код
Alex D. Bubenchikov
@altpoint
Jul 19 2016 09:22
@jhaoda то значит что он задаётся в сторонних пакетах в анонимных функциях у роутов, например в совинной админке
ValeryYahorau
@ValeryYahorau
Jul 19 2016 09:23
@jhaoda как здесь оформлять код ?
JhaoDa
@jhaoda
Jul 19 2016 09:23
@ValeryYahorau а ты правила не читал при входе в чат?
@ValeryYahorau иконка M↓ в нижнем правом углу
ValeryYahorau
@ValeryYahorau
Jul 19 2016 09:23
@jhaoda
где найти правила ?
JhaoDa
@jhaoda
Jul 19 2016 09:24
@ValeryYahorau сейчас тебя из чата выкинет, а когда снова зайдешь, то правила будут. Рекомендую прочитать внимательно
@altpoint ну что-то я хз, какая-то у тебя задача странная... переопределять тебе надо реквест, потому что в нём создаются инстансы UploadedFile для каждого файла
Alex D. Bubenchikov
@altpoint
Jul 19 2016 09:28
@jhaoda инстансы да, а момент перемещения файла именно тут
JhaoDa
@jhaoda
Jul 19 2016 09:29
@altpoint и?
Alex D. Bubenchikov
@altpoint
Jul 19 2016 09:30
@jhaoda чего и? Как мне добраться то до него?
JhaoDa
@jhaoda
Jul 19 2016 09:30
@altpoint тебе нужно создать своего потомка класса Illuminate\Http\UploadedFile и заменить им старый класс в реквесте
@altpoint может, тебе РНР для начала подучить?
Alex D. Bubenchikov
@altpoint
Jul 19 2016 09:32
@jhaoda я не спорю, скорее всего меня уже просто клинит от неспанья. Мне надо везде рассказать, а не в контроллере только и в тех местах, где контроллера как такового нет, то что ты говоришь - не варик
JhaoDa
@jhaoda
Jul 19 2016 09:32
@altpoint при чем тут контроллер?
Я про реквест, ты мне про контроллер...
Реквест он для всего приложения существует, даже для консольного варианта. И поэтому его переопределение нетривиальная задача
Alex D. Bubenchikov
@altpoint
Jul 19 2016 09:38
@jhaoda ты наверное хотел сказать наоборот тривиальная. В каком месте ты считаешь его следует переопределить ( при том, что мне не нужны методы реквеста, а нужны SymfonyUploadedFile ) что бы именно в момент перемещения файла вписаться?
JhaoDa
@jhaoda
Jul 19 2016 09:39
@altpoint ты способен найти файл реквеста и в нём метод convertUploadedFiles? Если да, то все вопросы у тебя должны отпасть. Если нет, то объяснить будет сложно, потому что ты, судя по всему, не до конца понимаешь внутренее устройство ларавель
Alex D. Bubenchikov
@altpoint
Jul 19 2016 09:39
@jhaoda не поверишь, но я прям счас на этот метод смотрю и туплю. Всё, понял тебя, спасибо что заставил перестать тупить )
JhaoDa
@jhaoda
Jul 19 2016 09:42
Вот кстати, ребята. Задача переопределения реквеста. Я нашел один путь: переопределить в index.php, а потом и в контейнере подменить алиас. А для консоли всё еще хуже, там надо бутстраппер заменять
Грызет меня червячок сомнения, а нельзя ли как-то проще?
Ну т.е. можно проще, уже в провайдерах реквест подменять, но это двойная работа. А вот так, что бы и проще, и без дурной работы?
ValeryYahorau
@ValeryYahorau
Jul 19 2016 09:47
Всем привет.
$phasetMembers = $phase->members();
  • hasMany в модели.
    если я сделаю
    for ($i = 1; $i <= $phasetMembersCount; $i++) {
          $phaseMembers[i]->status = 'deleted';
          $phaseMembers[i]->save();
    }
    Сработает ли так save ? или через Eloquent hasMany такое не пройдет ?
KarmaBot
@KarmaBot
Jul 19 2016 09:47
Прувет, @ValeryYahorau!
Maxim
@Big-Shark
Jul 19 2016 09:48
@jhaoda хммм, интересно
JhaoDa
@jhaoda
Jul 19 2016 09:48
@ValeryYahorau последние скобки убери в первой строке и должно сработать
@ValeryYahorau и почитай документацию, чтобы понять/запомнить разницу между $phase->members() и $phase->members
ValeryYahorau
@ValeryYahorau
Jul 19 2016 09:54
@jhaoda
если не затруднит можно ссылку, или название главы где это посмотреть
JhaoDa
@jhaoda
Jul 19 2016 09:55
@ValeryYahorau ты вообще в документации про связи читал?
butschster
@butschster
Jul 19 2016 10:01
@jhaoda ну ну
JhaoDa
@jhaoda
Jul 19 2016 10:01
@butschster шта?
Pavel Kuzmin
@s00d
Jul 19 2016 10:03
@ValeryYahorau вообще не используй for, есть же foreach
butschster
@butschster
Jul 19 2016 10:05
@s00d
$phase->members->each(function($member) {
        $member->status = 'deleted';
        $member->save();
}}
@jhaoda шта шта, ладно, а если так? there there!
JhaoDa
@jhaoda
Jul 19 2016 10:06
@butschster моя твоя не понимай
Pavel Kuzmin
@s00d
Jul 19 2016 10:07
@butschster ну все, теперь запускаешь иде и тестишь или тебе там по рукам бьют и заставляют точно знать?
@butschster а еще лучше открываешь доку и там находишь ответ
@butschster только на сколько я помню each в коллекции чуть медленнее обычного foreach
butschster
@butschster
Jul 19 2016 10:10
@s00d ну никто о скорости не говорил :) И зачем мне запускать ide?
Pavel Kuzmin
@s00d
Jul 19 2016 10:10
@butschster чтоб написать туда этот год и проверить результат
butschster
@butschster
Jul 19 2016 10:11
@s00d а что в нем не так?
Pavel Kuzmin
@s00d
Jul 19 2016 10:12
@butschster так нафига ты вообще начал тут спрашивать, если итак знаешь?
butschster
@butschster
Jul 19 2016 10:14
@s00d ааа. ну я тебя не спрашивал :) Просто показал как без foreach. Ладно, только не злись.
JhaoDa
@jhaoda
Jul 19 2016 10:14
Парни, вы вообще о чем? Один пишет непонятные фразы, другой видит не заданные вопросы...
Pavel Kuzmin
@s00d
Jul 19 2016 10:15
@butschster почему без форыча?
butschster
@butschster
Jul 19 2016 10:15
@jhaoda ну вообще я на ты вообще в документации про связи читал? написал тебе про вот это http://vignette1.wikia.nocookie.net/epicrapbattlesofhistory/images/e/e4/Sheldon_Cooper_there_there.gif/revision/latest?cb=20150506003640
JhaoDa
@jhaoda
Jul 19 2016 10:15
@butschster я не понимаю, что это означает. ТБВ не смотрю, поэтому не в теме. Расшифруешь?
butschster
@butschster
Jul 19 2016 10:18
@s00d ну раз существуют коллекции и их в Laravel повсеместно используют, то почему бы и нет?!
Pavel Kuzmin
@s00d
Jul 19 2016 10:18
@butschster а блин, эт я кривой. писал @ValeryYahorau
@butschster мне вот так больше нравиться
foreach($phase->members as &$member) {
    $member->status = 'deleted';
    $member->save();
}
butschster
@butschster
Jul 19 2016 10:21
@s00d а зачем по ссылке передавать?
butschster
@butschster
Jul 19 2016 10:29

@s00d Если выполнить код

$companies = Company::get();
foreach ($companies as $company) {
      $company->address = 'test';
}

dd($companies);

то, в списке будет старое значение?

Alexander
@Dualse
Jul 19 2016 10:30
@s00d Мне как-то уже сказали, что в циклах и так по ссылке передается
Maxim
@Big-Shark
Jul 19 2016 10:33
Можно начать с того что объекты всегда по ссылке передаются
Dmitry
@Visionary89
Jul 19 2016 11:16
Привет всем! Коллеги, а есть кто-то среди вас, кто использует очереди и управляет воркерами (как и всем проектом) через forge?
KarmaBot
@KarmaBot
Jul 19 2016 11:16
Привет, @Visionary89! Проходи, присаживайся. В ногах правды нет :)
Роман Сохарев
@greabock
Jul 19 2016 11:18
@Asvae пинг
Anton Vorontsov
@symbios-zi
Jul 19 2016 11:22
@butschster @s00d а почему бы не использовать map?
Oleg
@Malezha
Jul 19 2016 11:23
@symbios-zi зачем? Map используется для создания новой коллекции, а не изменении текущей.
Anton Vorontsov
@symbios-zi
Jul 19 2016 11:26
@Malezha

Note: Like most other collection methods, map returns a new collection instance; it does not modify the collection it is called on. If you want to transform the original collection, use the transform method.

ага увидел в доке

ну значит можно использовать transform :D
Screamster
@Screamster
Jul 19 2016 11:30
Привет, подскажите как можно такого избежать если модели все в пакете, чтобы не писать при связях MyPackages\Admin\Models\Menu, а просто писать Menu
public function children()
{
    return $this->hasMany('MyPackages\Admin\Models\Menu', 'parent_id');
}
KarmaBot
@KarmaBot
Jul 19 2016 11:30
@Screamster даров!
Anton Vorontsov
@symbios-zi
Jul 19 2016 11:32
@Screamster неймспейсы знаешь?
use MyPackages\Admin\Models\Menu;

public function children()
{
    return $this->hasMany(Menu::class, 'parent_id');
}
Screamster
@Screamster
Jul 19 2016 11:33
@symbios-zi а почему он может не срабатывать? :) я сразу так сделал. Лара 5.1
Anton Vorontsov
@symbios-zi
Jul 19 2016 11:33
@Screamster телепаты в отпуске ))
Screamster
@Screamster
Jul 19 2016 11:33
@symbios-zi понял. буду разбираться. спасибо :)
KarmaBot
@KarmaBot
Jul 19 2016 11:33
Спасибо (+1) для @symbios-zi принято! Текущая карма +151.
butschster
@butschster
Jul 19 2016 11:34
@symbios-zi я бы на твоем месте смотрел методы.
 public function transform(callable $callback)
{
        $this->items = $this->map($callback)->all();
       return $this;
}
Anton Vorontsov
@symbios-zi
Jul 19 2016 11:34
@butschster я смотрел, как раз открыт.
Alex D. Bubenchikov
@altpoint
Jul 19 2016 11:36
@jhaoda спасибо ещё раз, что отрезвляющее наорал на меня )) всё сделал, всё норм, любые файлы пробегающие где либо попадают в индекс и всё норм.
KarmaBot
@KarmaBot
Jul 19 2016 11:36
Спасибо (+1) для @jhaoda принято! Текущая карма +1052.
Dmitry
@Visionary89
Jul 19 2016 11:37
@KarmaBot
Anton Vorontsov
@symbios-zi
Jul 19 2016 11:37
@butschster а что не так с этим методом?
JhaoDa
@jhaoda
Jul 19 2016 11:37
@altpoint в контейнере не забыл алиас поменять?
butschster
@butschster
Jul 19 2016 11:37
@symbios-zi а чем each не нравится?
Anton Vorontsov
@symbios-zi
Jul 19 2016 11:38
@butschster чота привык в случае модификации внутри цикла использовать аля array_map, а если просто вывод всех по очереди то foreach
непонятно что быстрее работает, в гугле у всех результаты замеров разные
Alex D. Bubenchikov
@altpoint
Jul 19 2016 11:41
@jhaoda где именно?
JhaoDa
@jhaoda
Jul 19 2016 11:42
@altpoint в каком-нибудь провайдере
@altpoint ты вообще как реквест подменил-то?
Alex D. Bubenchikov
@altpoint
Jul 19 2016 11:43
@jhaoda в index.php свой реквест повесил
JhaoDa
@jhaoda
Jul 19 2016 11:43
@altpoint ага, а если сделаешь app('request'), то ждёт тебя удивление, если алиас не подменил :)
butschster
@butschster
Jul 19 2016 11:44
@symbios-zi map помедленнее будет
Alex D. Bubenchikov
@altpoint
Jul 19 2016 11:45
@jhaoda тщёрт. в config.app тож значится сейчас подменю
@jhaoda спасибо за подсказку
KarmaBot
@KarmaBot
Jul 19 2016 11:45
Спасибо (+1) для @jhaoda принято! Текущая карма +1053.
JhaoDa
@jhaoda
Jul 19 2016 11:45
@altpoint нет, вру. Если app('request'), то всё ок, а вот если app(\Illuminate\Http\Request::class), то ждёт удивление
@altpoint config.app вообще ни при чем
@altpoint в метод boot любого провайдера добавь что-то типа
$this->app->alias('request', \App\MyRequest::class);
Alex D. Bubenchikov
@altpoint
Jul 19 2016 11:47
@jhaoda, ok
JhaoDa
@jhaoda
Jul 19 2016 11:48
@altpoint ну и помни, что на консоль это не распространяется, там другой способ подмены
Dave
@aios
Jul 19 2016 11:58
Направьте меня на три истинные стороны. Нужно свой AuthProvider написать.
Где читать - за что браться?
JhaoDa
@jhaoda
Jul 19 2016 11:59
@aios в документации :)
Anton Vorontsov
@symbios-zi
Jul 19 2016 12:00
@aios еще видос думаю можно поглядеть на примере github https://laracasts.com/series/laravel-authentication-techniques/episodes/2
Dave
@aios
Jul 19 2016 12:01
@symbios-zi @butschster @jhaoda Спасибо)!
KarmaBot
@KarmaBot
Jul 19 2016 12:01
Спасибо (+1) для @symbios-zi принято! Текущая карма +152.
Спасибо (+1) для @butschster принято! Текущая карма +78.
Спасибо (+1) для @jhaoda принято! Текущая карма +1054.
Yuriy Degtyar
@ydegtyar
Jul 19 2016 12:40
Привет. Как вы убираете последнюю запятую при переборе?
@foreach( $pack->tasks as $task )
        {{$task->title}} @if( $task->id != $pack->tasks[ count($pack->tasks) -1 ]->id ), @endif
@endforeach
KarmaBot
@KarmaBot
Jul 19 2016 12:40
О! @ydegtyar! Сто лет не виделись!) Как жизнь молодецкая? Рассказывай :)
Yuriy Degtyar
@ydegtyar
Jul 19 2016 12:41
Так вообще норм?
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 12:48
@foreach($pack->tasks as $i => $task)
    {{ $task->title }}{#
    #}@if ($pack->tasks->count() !== $i), @endif
@endforeach
@ydegtyar
а вообще я пользуюсь твигом, там удобнее всё это
и тебе рекомендую
блейд - это то, что надо сразу выкидывать из проекта на ларке
Yuriy Degtyar
@ydegtyar
Jul 19 2016 12:49
твиг лучше блейда? долго мигрировать? у меня уже вьюшек под 3 десятка
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 12:50
однозначно лучше
походы похожие, так что работы на день
но если опыта нет, то лучше не париться
@ydegtyar вот тут можешь подсмотреть как оно выглядит: https://github.com/SerafimArts/SerafimArts/tree/master/resources/views
Yuriy Degtyar
@ydegtyar
Jul 19 2016 12:51
Чем лучше если вкратце?
Ivan
@Hunternnm
Jul 19 2016 12:51
Опять холивар
Anton Vorontsov
@symbios-zi
Jul 19 2016 12:51
попкорн
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 12:52
@ydegtyar тем, что это шаблонизатор и придуман для этого, а блейд - это велосипед из серии "что бы было"
как следствие - в блейде нет вообще структур контроля за циклами
нет возможности обратного наследования (т.е. подключения партишелов как микро-лайаутов)
нет возможности нормального расширения, только регулярками
опять же, т.к. блейд сделан на скорую руку - там куча косяков, тупо потому, что использует регулярки
пример точно сейчас не вспомню
но у меня не один раз были случаи, когда он тупо начинает не рендериться из-за какого-то символа
или если пробел не поставишь
например @if($a)asd@elseasd@endif 146% точно работать не будет
Yuriy Degtyar
@ydegtyar
Jul 19 2016 12:56
Вот тут брать https://github.com/rcrowe/TwigBridge ?
Anton Vorontsov
@symbios-zi
Jul 19 2016 12:56

нет возможности обратного наследования (т.е. подключения партишелов как микро-лайаутов)

что за обратное наследование?

Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 12:56
а вот {% if a %}asd{% else %}asd{% endif %} работает
@ydegtyar +1
Yuriy Degtyar
@ydegtyar
Jul 19 2016 12:57
@SerafimArts спасибо
KarmaBot
@KarmaBot
Jul 19 2016 12:57
Спасибо (+1) для @SerafimArts принято! Текущая карма +518.
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 12:57
@symbios-zi ну представь себе ты инклудишь хедер и футер, но только в таком виде:
@include('some')
  asdasd
  ajdshfklsjdhgflk
@endinclude
Anton Vorontsov
@symbios-zi
Jul 19 2016 12:58
@SerafimArts есть такое
@section('some')
...
@endsection

// в родительской view 
@yield('some')
Роман Сохарев
@greabock
Jul 19 2016 13:00

пример точно сейчас не вспомню
но у меня не один раз были случаи, когда он тупо начинает не рендериться из-за какого-то символа
или если пробел не поставишь

я сейчас тоже точно пример не вспомню, но если я телек с блоком питания на 220 воткну в разетку на 380, то всяко работать не будет.
Там правда, в инструкции написано что он для 220... ну да нахрен, пойду лучше найду телек который умеет 380...

@SerafimArts я не говорю, что блейд - огонь. Но твоя аргументация убивает :smile:

Arsen Soroka
@arsen-s
Jul 19 2016 13:00
@ydegtyar если нужно только через "," разделить то можно сделать так
implode(', ', $pack->tasks->pluck('title'))
Роман Сохарев
@greabock
Jul 19 2016 13:01
Да забей, посан за твигом уехал уже =)
Yuriy Degtyar
@ydegtyar
Jul 19 2016 13:01
Еще не уехал
Arsen Soroka
@arsen-s
Jul 19 2016 13:02
не надо из за одной штуки переезжать на другой двиг
Anton Vorontsov
@symbios-zi
Jul 19 2016 13:02
@arsen-s +1
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 13:02
@symbios-zi и как передать в секцию переменные?
Yuriy Degtyar
@ydegtyar
Jul 19 2016 13:02
Ну если начинать новый проект на ларавеле, стоит сразу начинать с твига?
Arsen Soroka
@arsen-s
Jul 19 2016 13:02
а я тебе советую не юзать лару вообще, юзай java - там все намного проще
Anton Vorontsov
@symbios-zi
Jul 19 2016 13:03
@arsen-s фортран тогда уж
Arsen Soroka
@arsen-s
Jul 19 2016 13:03
@ydegtyar нет, остановись не читай доку по java
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 13:03
согласен
на счёт одной штуки и переезда
объективно и всем очевидно, что твиг лучше, но когда уже сделано - оно не стоит того, что бы всё переписывать
как бы теряешь от использования блейда не слишком много
более того - блейд в разы более очевиден для php-разрабов
Anton Vorontsov
@symbios-zi
Jul 19 2016 13:04
@SerafimArts
@include('partial', compact('key'))
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 13:04
что есть огромный плюс
@symbios-zi ты потерял содержание инклуда ;)
Anton Vorontsov
@symbios-zi
Jul 19 2016 13:05
@SerafimArts ты меня запутал :)
@SerafimArts ты хочешь передать в родительскую вьюху переменную?
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 13:06
ну вот у меня вот такой шаблон, например:
<section class="article">
    <header>
        <h2>{{ title }}</h2>
    </header>
    {% content %}
</section>
Роман Сохарев
@greabock
Jul 19 2016 13:06
нет, он хочет передать туда секцию
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 13:06
это псевдошаблонизатор
а вот так его подключать:
{% include("article", ['title' => 23]) %}
  <p>Содержание</p>
{% endinclude %}
опять же это псевдошаблонизатор
This message was deleted
Роман Сохарев
@greabock
Jul 19 2016 13:11
@SerafimArts это кстати не совсем проблема блейда
просто он работает "наоборот"
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 13:12

А вот на твиге:

articles.twig

{% block article %}
<section class="article">
    <header>
        <h2>{{ title }}</h2>
    </header>
    {{ parent() }}
</section>
{% endblock %}

some.twig

{% use "articles" %}
{% block article %}
    {% set title = 'Заголовок' %}
    Hello world
{% endblock %}
KarmaBot
@KarmaBot
Jul 19 2016 13:12
@SerafimArts даров!
Роман Сохарев
@greabock
Jul 19 2016 13:12
Ахахаха
asvae
@asvae
Jul 19 2016 13:17
@greabock pong
Роман Сохарев
@greabock
Jul 19 2016 13:23
@Asvae ты уже видел, собственно
asvae
@asvae
Jul 19 2016 13:25
@greabock да глянул поверхностно.
Часа через 4 мерджну.
Роман Сохарев
@greabock
Jul 19 2016 13:26
@Asvae Пока тестами не покрыто, надо ручками проверять всё
asvae
@asvae
Jul 19 2016 13:26
@greabock Да, вот еще насчет тестов.
Я пока думаю ограничиться юнит тестами.
Потом, на базе демо-репозитория, добавить пару интеграционных.
ЖС будет без тестов.
Роман Сохарев
@greabock
Jul 19 2016 13:29
Тестер не покрытый тестами... прям сапожник без сапог :smile:
asvae
@asvae
Jul 19 2016 13:31
Еще есть идейка сейвалку прикрутить, чтоб на сервере лежало. Собственно, прототип тестилки даже сохранялся в локалсторадж.
Роман Сохарев
@greabock
Jul 19 2016 13:33
@Asvae да, на сервак надо обзязательно
что бы можно было между разрабами образцы запросов передавать
а можно подругому поступить
asvae
@asvae
Jul 19 2016 13:34
@greabock ну да. Такие жиры, как индивидуальные роуты для конкретного разраба по-идее не нужны для небольших команд.
Роман Сохарев
@greabock
Jul 19 2016 13:35
поднять репозиторий этих "хранимок". И брать с народа бабло, как это постмэн делает ))
asvae
@asvae
Jul 19 2016 13:36
@greabock то-то разбогатею. :3
Роман Сохарев
@greabock
Jul 19 2016 13:36
@Asvae :smile:
asvae
@asvae
Jul 19 2016 13:37
Репозиторий как сервис звучит интересно, но опять же, неблизкая перспектива.
С другой стороны, роуты жестко привязаны к конкретному проекту/гито-репозиторию.
Т.е. разрабу возможно будет логичнее версионнуть файлик с роутами, чем страдать со всякого рода онлайн синхронизацией.
Роман Сохарев
@greabock
Jul 19 2016 13:43
Просто постман - это жесть. Они колоссального бабла хотят за коллоборацию
Безусловно, разраба это не должно беспокоить - он должен перенести эти затраты на плечи заказчика. Но тем не менее, они просят слишком много
asvae
@asvae
Jul 19 2016 13:45
@greabock да. Приличновато. Дроплету можно держать.
Роман Сохарев
@greabock
Jul 19 2016 13:50
@Asvae ты, кстати, поторопился c мажорным релизом. Если дело пойдет, этот тестер еще будет "трясти" не хило, по ходу апдейтов
f-ostaev
@f-ostaev
Jul 19 2016 13:50
Подскажите, на локальной версии сайта прописал путь к pdf файлу <a href='../assets/Хеликс.pdf'> и он открывался нормально, а когда перекинул сайт на хостинг, пишет ошибку
Роман Сохарев
@greabock
Jul 19 2016 13:51
@f-ostaev нельзя пойти на каталог выше паблика
asvae
@asvae
Jul 19 2016 13:51
@greabock привычка с 1.0.0 начинать :\. Да и пока что юзерам нечего ломать.
f-ostaev
@f-ostaev
Jul 19 2016 13:54
@greabock даже с таким путём <a href='../public/assets/Хеликс.pdf'> пишет 'NotFoundHttpException'
Роман Сохарев
@greabock
Jul 19 2016 13:55
да ну святые же коровы )
<a href='/assets/Хеликс.pdf'>
@f-ostaev у тебя сервак в папку public смотрит надеюсь?
Ivan
@Hunternnm
Jul 19 2016 13:56
Меня терзают смутные сомнения...
JhaoDa
@jhaoda
Jul 19 2016 13:56
Не вас двоих они терзают...
f-ostaev
@f-ostaev
Jul 19 2016 13:57

@greabock изначально нет, но поправил это через .htasses

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

lordonx3
@lordonx3
Jul 19 2016 13:58
Всем привет
KarmaBot
@KarmaBot
Jul 19 2016 13:58
О! @lordonx3! Сто лет не виделись!) Как жизнь молодецкая? Рассказывай :)
lordonx3
@lordonx3
Jul 19 2016 13:58
Нужно узнать, какой id последнего полученного еллемента из бд
как это реализовать?
$recipients = Recipient::where('status', '!=', 'banned')->take(1000)->get(); получаю таким образом данные из таблицы
f-ostaev
@f-ostaev
Jul 19 2016 13:59
@greabock пути уже все перепробовал, может у меня по папкам шарить нельзя? или в роутах прописывать нужно его?
butschster
@butschster
Jul 19 2016 13:59
@lordonx3 $recipients->last() ?
Ivan
@Hunternnm
Jul 19 2016 14:00
$recipients->last()->id
Arsen Soroka
@arsen-s
Jul 19 2016 14:00
This message was deleted
Роман Сохарев
@greabock
Jul 19 2016 14:00
@f-ostaev лучше направь его туда по человечески. Я понятия не имею, какого поведения ожидать от той магии, там нагорожена )
lordonx3
@lordonx3
Jul 19 2016 14:00
@butschster , @Hunternnm , @arsen-s спасибо, а то я уже начал делать велосипедные конструкции)
KarmaBot
@KarmaBot
Jul 19 2016 14:00

Благодарный

@lordonx3, вы выполнили условие: "Высказать 20 благодарностей.".
С чем и поздравляем =)
Благодарный
Спасибо (+1) для @butschster принято! Текущая карма +79.
Спасибо (+1) для @Hunternnm принято! Текущая карма +204.
Спасибо (+1) для @arsen-s принято! Текущая карма +61.
JhaoDa
@jhaoda
Jul 19 2016 14:01
@lordonx3 все же бан для тебя прошел бесследно. Ты все так же не думаешь, а сразу пишешь в чат
f-ostaev
@f-ostaev
Jul 19 2016 14:01
@greabock по человечески это как? связывался с хостерами они сказали только через хтассес
butschster
@butschster
Jul 19 2016 14:01
@lordonx3 ну да, что только не сделаешь, лишь бы не смотреть документацию!
Arsen Soroka
@arsen-s
Jul 19 2016 14:01
хочу первый раз заюзать DDD на проекте, понимаю что писали об этом уже милион раз
с чего начать(дока, пакеты)?
Роман Сохарев
@greabock
Jul 19 2016 14:02
@f-ostaev в sites-enable апача, ну или где у тебя там конфиги сайтов лежат
JhaoDa
@jhaoda
Jul 19 2016 14:02
@f-ostaev бежать надо от таких хостеров
Роман Сохарев
@greabock
Jul 19 2016 14:02
это верно
f-ostaev
@f-ostaev
Jul 19 2016 14:04
@greabock интересно еще то, что всё остальное то нормально отображается на сайте, картинки, скрипты
Роман Сохарев
@greabock
Jul 19 2016 14:04
@f-ostaev просто съезжай с этого хостинга. А а тех поддержке скажи: идут они йух (до самого полюса) и пусть их там пингвины любят
luptidu
@luptidu
Jul 19 2016 14:05

Я делаю минифайлообменник, чтобы научиться пользоваться laravel.
Я получаю файл, валидирую его, а дальше нужно ли хешировать имя файла? Ведь там могут быть файлы php и .htaccess, если да, то потом я записываю "хэш код" или как это называется в базу данных и путь к файлу, а сам файл переименовываю и переношу в соответстующую папку.

Так будет правильно сохранить файл?

Soprun Vladislav
@vlsoprun
Jul 19 2016 14:10
Парни кто нибудь настраивал phpci для laravel ?
Ivan
@Hunternnm
Jul 19 2016 14:11
@luptidu хранишь с хэшем, а при скачивании подставляешь нужное имя файла
т.е. index.php => klgnfjhgljfhgzhjkghzxlcjkghzxjklchglzxjkhglkhg, а нажал качать - отдает на загрузку тот же index.php
моё субъективное мнение
Maxim
@Big-Shark
Jul 19 2016 14:23
@vlsoprun 1 раз
@arsen-s начти с молитвы.
Arsen Soroka
@arsen-s
Jul 19 2016 14:24
@Big-Shark уже сделано, что дальше?
Anton Vorontsov
@symbios-zi
Jul 19 2016 14:28
@arsen-s книжку прочти для начала по DDD )))
Arsen Soroka
@arsen-s
Jul 19 2016 14:40
@symbios-zi только начинаю вникать в эту архитектуру, раньше руки не доходили
какую книгу посоветуешь?
Anton Vorontsov
@symbios-zi
Jul 19 2016 14:41
@arsen-s в приват стукни
luptidu
@luptidu
Jul 19 2016 14:42
  1. Здесь http://laravel.su/docs/5.0/hashing в примерах кода обращаются(как я понял предварительно прописав use) к Hash как будто это класс и используют его статический метод, но ведь Hash это всего лишь интерфейс и у него нет своей реализации, он лишь говорит какие методы должны быть реализованы, так как тогда это происходит?

  2. Почему я не могу проделать тоже самое? Я подключаю use Illuminate\Contracts\Hashing\Hasher;, но потом когда пытаюсь использовать к примеру Hash::make($string); или Hasher, то у меня не находит и так со всем типа Request, Response.
    Единственный выход это передать в контроллер Hasher $hash и использовать переменную $hash, но почему не получается использовать так как в документации показано?

Anton Vorontsov
@symbios-zi
Jul 19 2016 14:45
@luptidu почитай как это работает тут http://laravel.su/articles/understanding-ioc
asvae
@asvae
Jul 19 2016 14:46
@greabock match / except по какому принципу работают?
Меня несколько смущает возможность оставить пустыми оба массива и при этом что-то получить в выборке.
luptidu
@luptidu
Jul 19 2016 14:46
@symbios-zi спасибо
KarmaBot
@KarmaBot
Jul 19 2016 14:46
Спасибо (+1) для @symbios-zi принято! Текущая карма +153.
Anton Vorontsov
@symbios-zi
Jul 19 2016 14:49
This message was deleted
luptidu
@luptidu
Jul 19 2016 14:50
@symbios-zi от каких? От таких которые использую я или такие которые описаны в документации?
Anton Vorontsov
@symbios-zi
Jul 19 2016 14:50
@luptidu да вообще от всех.
luptidu
@luptidu
Jul 19 2016 14:52
@symbios-zi я не понял тебя. А что тогда делать?
Anton Vorontsov
@symbios-zi
Jul 19 2016 14:53

@luptidu

use Illuminate\Contracts\Hashing\Hasher;

class FooClass
{
    public function __construct(Hasher $hash)
    {
        $this->hasher = $hash;
    }

    public function FooMethod()
    {
        $this->hasher->make($string);
    }
}

как то так

@luptidu https://laravel.com/docs/5.0/facades#facade-class-reference вот тут целая таблица
luptidu
@luptidu
Jul 19 2016 14:55
@symbios-zi аа я понял тебя, в конструктор отправлять это все, окей, навреное еще будет правильно будет создать свойство в FooClass типа Hasher $hash;
Alexander Avakov
@pinguinjkeke
Jul 19 2016 14:55
Всем привет. Что-то упускаю
Type error: Argument 1 passed to App\Http\Controllers\Auth\SecurityAuthController::register() must be an instance of App\Http\Requests\SecurityRequest, instance of Illuminate\Http\Request given, called in
Почему DI не отрабатывает?
KarmaBot
@KarmaBot
Jul 19 2016 14:55
@pinguinjkeke и тебе не хворать :)
Alexander Avakov
@pinguinjkeke
Jul 19 2016 14:56
Вопрос снят. DI должен происходить в методе, к которому обращается Route
Anton Vorontsov
@symbios-zi
Jul 19 2016 14:56
@luptidu да. А можно думаю еще и так получить объект app('hash') в той же таблице в последней колонке можно найти соответствия
luptidu
@luptidu
Jul 19 2016 15:01
@symbios-zi спасибо большое, я уже понял как правильно, но все же интересно почему у меня не работало Hash::make(); к примеру? Да и почему в документации используют способ который "нежелателен"?
KarmaBot
@KarmaBot
Jul 19 2016 15:01
Спасибо (+1) для @symbios-zi принято! Текущая карма +154.
Anton Vorontsov
@symbios-zi
Jul 19 2016 15:02
@luptidu ну он не то что бы не желателен. Просто иногда путает людей. Ну и тестировать тяжелее код с фасадами. Ну видимо ты правильный неймспейс не указал )
@luptidu use Illuminate\Support\Facades\Hash; у меня работает норм
luptidu
@luptidu
Jul 19 2016 15:04
@symbios-zi вот только в том классе нет метода make, у меня то тоже работает)
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 15:04
@symbios-zi не обязательно указывать ссыль на фасад
там же class_alias на рут перекидывает
luptidu
@luptidu
Jul 19 2016 15:05
@symbios-zi да
Anton Vorontsov
@symbios-zi
Jul 19 2016 15:05
@SerafimArts я знаю, тогда как я понимаю надо \Hash::make
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 15:05
если неймспейс класса не рутовый
но этот как бы основы php, так что всё очевидно
Anton Vorontsov
@symbios-zi
Jul 19 2016 15:05
@SerafimArts ну. Поэтому у него и не работало
luptidu
@luptidu
Jul 19 2016 15:05
namespace App\Http\Controllers;
use App\Http\Requests\SaveFilePostRequest;
use App\Http\Requests;
use Illuminate\Contracts\Hashing\Hasher;
Anton Vorontsov
@symbios-zi
Jul 19 2016 15:06
@luptidu изучи как работают фасады.
Роман Сохарев
@greabock
Jul 19 2016 15:13

@Asvae
сначала фильтруется match - только совпавшие по regexp роуты попадут в выборку
потом фильтруется except - все совпавшие по regexp роуты будут исключены из выборки

если match или except пустой - то соответствующий фильтр просто не будет запущен

проще в скайп переехать наверное
asvae
@asvae
Jul 19 2016 15:15
@greabock шур, ontrew. Люблю скайп.
Только пока не могу говорить.
Владимир
@WaterSpout
Jul 19 2016 15:56
Привет, народ. Подскажите пожалуйста, как в Mysql5.7, не убирая STRICT_TRANS_TABLES, игнорировать ошибку, при миграции($table->timestamps();), неверное значение по умолчанию?
KarmaBot
@KarmaBot
Jul 19 2016 15:56
@WaterSpout, привет, как настроение?
Владимир
@WaterSpout
Jul 19 2016 15:56
@KarmaBot Лучше всех)
luptidu
@luptidu
Jul 19 2016 15:58

В сервис провайдере прописано какой класс будет использован в реализации интерфейса контракта
Контракт - интерфейс который указывают как должен работать тот или иной функционал
Сервис контейнер находит интерфейсы которые были переданны в конструктор контроллера или другого класса и вместо него отдает класс указанный в сервис провайдере

Правильно понял?

JhaoDa
@jhaoda
Jul 19 2016 15:59
@WaterSpout https://laravel.com/docs/5.2/upgrade#upgrade-5.2.0, раздел «Database»
@luptidu да
Владимир
@WaterSpout
Jul 19 2016 16:00
@jhaoda Спасибо.
KarmaBot
@KarmaBot
Jul 19 2016 16:00
Спасибо (+1) для @jhaoda принято! Текущая карма +1055.
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:03
@luptidu
1) не обязательно
1.1) "контракт" - это терминология в рамках ларки, так же как и "фасад". Во всём мире - оно означает совершенно иное.
2) Да
2.1) Но не обязательно интерфейс
3) Да
4) "контрактом" может быть и обычная строка, но тогда прощай инъекции, только получение из контейнера через сервис-локацию
JhaoDa
@jhaoda
Jul 19 2016 16:05
@SerafimArts не грузи человека, он и так за второй день понял то, до чего многие за месяцы дойти не могут :)
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:05
это за два дня он до этого дошёл? о____0
серьёзно?!
Владимир
@WaterSpout
Jul 19 2016 16:06
@jhaoda Хм, почти все ок. Только вот это $table->nullableTimestamps(); делает оба поля по умолчанию = null, я правильно понимаю, что нет метода, который делает created_at = null, а updated_at = current timestamp и в таком случае надо разделить на два отдельных метода так, как в мануале?
JhaoDa
@jhaoda
Jul 19 2016 16:06
@SerafimArts да, я вижу, что он всего второй (ну третий) день вопросы задёт
@WaterSpout а в чем смысл задать значение для updated_at, но не задать для created_at?
luptidu
@luptidu
Jul 19 2016 16:08
@SerafimArts я тут три дня сижу, я то много прочитай, но вот в коде почти не продвинулся, только сделал форму для файла и валидацию для него и все) Я больше читаю пока что
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:08
@luptidu если ты за 3 дня уже дошёл до Di, то можешь считать себя гением
JhaoDa
@jhaoda
Jul 19 2016 16:09
@luptidu поддерживаю оратора выше
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:09
@luptidu баярлалаа тебе в карму за такое рвение =)
KarmaBot
@KarmaBot
Jul 19 2016 16:09
Спасибо (+1) для @luptidu принято! Текущая карма +1.
JhaoDa
@jhaoda
Jul 19 2016 16:10
Гением, не гением, но то, что 90% новичков вообще не вдупляют, что происходит — факт :)
Ещё 8% вдупляют, но не так быстро
luptidu
@luptidu
Jul 19 2016 16:10

@SerafimArts как понять дошел? Я просто хотел захешировать файл, а у меня не вызывался Hash::make() ( до сих пор не вызывается), ни и я начал разбираться почему и вот до чего дошло.

Но спасибо)

KarmaBot
@KarmaBot
Jul 19 2016 16:10
Спасибо (+1) для @SerafimArts принято! Текущая карма +519.
Arsen Soroka
@arsen-s
Jul 19 2016 16:11
ребят, у кого то бывает такое, что когда начинаешь поднимать свой лвл - понимаешь что ты нуб в програмирование? т.е чем дальше идешь - тем тебе кажется что ты ребенок еще в мире IT?
и нормально ли это?
Владимир
@WaterSpout
Jul 19 2016 16:12
@jhaoda Ага, это я для примера. Можно и на оба поля, я к тому, что сейчас есть только 2 метода: timestamps, nullableTimestamps. В первом случае ошибка, во втором оба = null, я ведь правильно понимаю)?
JhaoDa
@jhaoda
Jul 19 2016 16:12
@WaterSpout ага
Владимир
@WaterSpout
Jul 19 2016 16:13
@jhaoda Спасибо =).
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:13
@arsen-s попробуй изучить MASM, думаю тогда ты точно в депрессию вгонишься :D
KarmaBot
@KarmaBot
Jul 19 2016 16:13
Спасибо (+1) для @jhaoda принято! Текущая карма +1056.
Arsen Soroka
@arsen-s
Jul 19 2016 16:13
@SerafimArts ассемблер?
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:13
майкрософтовский
Arsen Soroka
@arsen-s
Jul 19 2016 16:13
учил, но когда то давно
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:13
с 18 и 24ым прерыванием, которых нету, например в
хз, другие я не шарю
:D
JhaoDa
@jhaoda
Jul 19 2016 16:14
— Прерывание видишь? — Нет. — А оно есть!
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:14
@arsen-s ну тогда тебя уже нечем угнетать
Arsen Soroka
@arsen-s
Jul 19 2016 16:15
ну это были еще времена универа - там все по другому было, щас новый взгляд
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:15
просто лоулевел чуваки вгоняются в депрессию хайлевелом и наоборот
осталось только недокументированные функции видеокарт поизучать :D
Arsen Soroka
@arsen-s
Jul 19 2016 16:15
мда(
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:16
я например угнетаюсь шейдерами, только кажется начал понимать и опять дичь какая-то
JhaoDa
@jhaoda
Jul 19 2016 16:16
Я учил цифровую электронику на чемоданах с кнопками. Там стоял какой-то МК, все команды вводились в хекс-кодах с клавы от калькулятора, дисплей на 8 знаков был
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:17
ну ты старичок, я старше чем 486ой не видел ничего
или 386ой... не помню
Arsen Soroka
@arsen-s
Jul 19 2016 16:18
сколько лет нужно опыта чтобы ты сам понимал что ты крутой разработчик а не просто прогер?
Mihail
@sektor-sumy
Jul 19 2016 16:19
только глупец так думает)
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:20
@jhaoda ты считаешь себя крутым разрабом?
JhaoDa
@jhaoda
Jul 19 2016 16:20
@SerafimArts ни разу
Arsen Soroka
@arsen-s
Jul 19 2016 16:20
кто-то себя считает сдесь крутым разроботчиком?
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:20
@arsen-s короче, отними от бесконечности возраст @jhaoda - получишь "то самое число"
@arsen-s @M-A-XG считает :trollface:
Mihail
@sektor-sumy
Jul 19 2016 16:21
@SerafimArts озадачил всех
vava
@vaz9
Jul 19 2016 16:21
Добрый вечер, подскажите пожалуйста, как правильно настроить liveReload на пример Browsersync? Использую ксамп, запускаю проект pro2.loca, через npm все ок, но запускается pro1.loca, т.е. совершенно другой. Для loveReload исп нативный browserSync в Elixir'e
KarmaBot
@KarmaBot
Jul 19 2016 16:21
Прувет, @vaz9!
Arsen Soroka
@arsen-s
Jul 19 2016 16:21
@SerafimArts надо от него услышать
или он в бане?
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:22
@arsen-s а ты открой первую попавшуюся статью на хабре в топике php за последнее время...
Arsen Soroka
@arsen-s
Jul 19 2016 16:22
@jhaoda сколько лет опыта и со скольки разрабатываешь проекты?
JhaoDa
@jhaoda
Jul 19 2016 16:23
@arsen-s 12 или 13
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:24
оказывается у меня в трудовой написано 2 года :D
Mihail
@sektor-sumy
Jul 19 2016 16:25
@SerafimArts в моей трудовой пол года если есть то хорошо
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:25
@jhaoda так что ты это, тоже проверь, вдруг там вообще пара месяцев ;)
Arsen Soroka
@arsen-s
Jul 19 2016 16:26
ладно, сори за оффтоп
пошел разбиратся дальше с DDD
JhaoDa
@jhaoda
Jul 19 2016 16:27
А вообще РНР я первый раз заюзал 16 лет нахад
Mihail
@sektor-sumy
Jul 19 2016 16:28
@jhaoda 2000 норм я в 2004)
vava
@vaz9
Jul 19 2016 16:31
здесь есть фронты работающие с ларавелом?
JhaoDa
@jhaoda
Jul 19 2016 16:34
@vaz9 ну ты вопрос задай
vava
@vaz9
Jul 19 2016 16:35
Добрый вечер, подскажите пожалуйста, как правильно настроить liveReload на пример Browsersync? Использую ксамп, запускаю проект pro2.loca, через npm все ок, но запускается pro1.loca, т.е. совершенно другой. Для loveReload исп нативный browserSync в Elixir'e
KarmaBot
@KarmaBot
Jul 19 2016 16:35
@vaz9, здравствуй.
vava
@vaz9
Jul 19 2016 16:36
@jhaoda вотс
JhaoDa
@jhaoda
Jul 19 2016 16:36
@vaz9 а ларавель-то тут при чем?
vava
@vaz9
Jul 19 2016 16:36
направили к вам, больше не в нем дело а эликсире, который при нем. Как я понял это какая то обертка для галпа
и вопрос по ней больше
или вопрос про xampp
возможно из-за него browserSync создает сервак не из нужного проекта
Taras Lisennk
@Lisennk
Jul 19 2016 16:44

Ребята, если мне нужно добавить какую-то логику в роутер, как это сделать в Laravel чтобы коллеги не посчитали меня быдлокодером?

Я знимаюсь разработкой бота который отвечает на слэш-команды типа /dosomething data-that-will-be-passed-to-command

Каждый раз при отправке пользователем такой команды, мне приходит POST запрос в котором содержится сообщение вроде того, что выше. У меня есть класс, содержащий команды, по методу в классе на каждую команду. Чтобы узнать, какой именно метод вызвать, мне нужно сначала распарсить запрос.

Вот как я делаю это сейчас:

Route::post('/api/command/call', function(Request $request) {
    $payload = explode(' ', $request->text);
    $command = $payload[0];
    $input   = $payload[1];

    $controller = new CommandController;
    return $controller->$command($input);
});

Но как сделать это правильно? Или это и есть правильный способ?
(Если непонятно объяснил то задавайте вопросы)

Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:45
@Taras-S миддлвари, карл!
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:47
@Taras-S плюс нафига такое АПИ?
Taras Lisennk
@Lisennk
Jul 19 2016 16:47
@SerafimArts это API Slack, у них спроси, нафига)
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:47
@Taras-S ты разработчик слака?
Роман Сохарев
@greabock
Jul 19 2016 16:48
бота для слака, я думаю )
Taras Lisennk
@Lisennk
Jul 19 2016 16:48
Нет, Slack Api посылает мне запросы в таком формате.
А как я могу тут использовать мидлвари? Дай пример, пожалуйста
Роман Сохарев
@greabock
Jul 19 2016 16:50
@Taras-S почему это обязательно должен быть контроллер?
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:50
Ну например
public function handle(Request $request, $next) 
{
    ...
    $this->app->bind('command', $payload[0]);
    $this->app->bind('input', $payload[1]);
    ...
}


class CommandController ...
{
    public function handle($command, $input)
    {
        ...
    }
}
Роман Сохарев
@greabock
Jul 19 2016 16:51
да даже это - перебор )
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:51
Route::post('/api/command/call', ['middleware' => [MyMiddleware::class], 'uses' => 'CommandController@handle']);
Taras Lisennk
@Lisennk
Jul 19 2016 16:51
@SerafimArts где мне поместить первую функцию?
@greabock а как?
Роман Сохарев
@greabock
Jul 19 2016 16:51
в MyMiddleware очевидно )
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:52
кстати да
миддлвари как бы тоже лишнее
Роман Сохарев
@greabock
Jul 19 2016 16:52
Короче, это не разные контроллеры
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:52
это задача контроллера обработать входящие данные и передать их сервисам
Роман Сохарев
@greabock
Jul 19 2016 16:52
это один контроллер
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:52
+1
это один контроллер и даже один метод
Роман Сохарев
@greabock
Jul 19 2016 16:52
в нем и распарсишь эти дела
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:52
который передаёт управление твоему боту
Роман Сохарев
@greabock
Jul 19 2016 16:53
а уже он отправит это в твой сервис обработки сообщений (непосредственно бот)
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:53
как минимум ты изолируешь логику так, что бот сможет работать не только из под http
Роман Сохарев
@greabock
Jul 19 2016 16:53
и не обязательно на ларе )
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 16:53
угу
TLDR; SOLID
Роман Сохарев
@greabock
Jul 19 2016 16:58
class MyMegaBot 
{
    public function some($input){
        #do something
    }
}
class CommandHandlerController extends Controller 
{
    public function handle(Request $request, MyMegaBot  $bot){
         $payload = explode(' ', $request->text);
         $command = $payload[0];
         $input   = $payload[1];

         return app()->call([$bot, $command], [$input]);
    }
}
Taras Lisennk
@Lisennk
Jul 19 2016 16:59
ну да
спасибо
KarmaBot
@KarmaBot
Jul 19 2016 16:59
@Taras-S, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Taras Lisennk
@Lisennk
Jul 19 2016 16:59
Хотя у меня такое чувство, что мы добавляем фасад фасада
)
Роман Сохарев
@greabock
Jul 19 2016 17:00
Фасады то тут при чем? О_о
Taras Lisennk
@Lisennk
Jul 19 2016 17:00
Я об этом
Шаблон фасад (англ. Facade) — структурный шаблон проектирования, позволяющий скрыть сложность системы путём сведения всех возможных внешних вызовов к одному объекту, делегирующему их соответствующим объектам системы.
Роман Сохарев
@greabock
Jul 19 2016 17:01
Нет, это не фасад
Taras Lisennk
@Lisennk
Jul 19 2016 17:01
это из вики описание
в ларавел фасад это другое вроде бы
Роман Сохарев
@greabock
Jul 19 2016 17:02
Всё тут норм. У тебя есть бот, и он занимается тем чем и должен заниматься - обрабатывает команды. Контроллер обрабатывает запрос и на основании данных вызывает соответствующий метод бота.
Это не имеет отношения ни к паттерну "фасад" ни к фасадам лары, я тебя уверяю
при этом, бот у тебя независимый
Taras Lisennk
@Lisennk
Jul 19 2016 17:03

я о том, что нам бы написать свою реализацию интерфейса Request, который будет парсить вот такие запросы от Slack API. А мы занимаемся чем-то вроде создания ещё одного класса Request (который обрабатывает запросы от Slack) который работает поверх стандартного Request.

Или бред?

JhaoDa
@jhaoda
Jul 19 2016 17:04
@Taras-S ну напиши
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 17:04
// изобретение формреквестов в действии
Роман Сохарев
@greabock
Jul 19 2016 17:04
Нет, можно конечно заюзать форм-реквест
только это не очень удобно будет
JhaoDa
@jhaoda
Jul 19 2016 17:05
Да можно и вообще весь реквест переопределить, две строчки делов
Taras Lisennk
@Lisennk
Jul 19 2016 17:05
Можно как угодно, мне интересно, как правильнее всего?
Роман Сохарев
@greabock
Jul 19 2016 17:05
Правильнее всего так, как удобнее всего читать
Taras Lisennk
@Lisennk
Jul 19 2016 17:06
Многим удобно читать 1000 строк процедурки но это вряд ли правильно
Но я думаю мне хватит способа, который вы предложили
Роман Сохарев
@greabock
Jul 19 2016 17:07
ты можешь кончено сделать форм-реквест тогда код в контроллере сократится до:

public function handle(MyFormRequest $request, MyMegaBot  $bot)
{

         return app()->call([$bot, $request->getCommand()], [$request->getInput());
}
Taras Lisennk
@Lisennk
Jul 19 2016 17:08
но?
Роман Сохарев
@greabock
Jul 19 2016 17:08
без но
в любом случае бот - это должен быть бот, а не контроллер
Taras Lisennk
@Lisennk
Jul 19 2016 17:08
а какой способ лучше, с форм реквестом или как выше говорилось?
Роман Сохарев
@greabock
Jul 19 2016 17:09
Да как тебе вкуснее. Использование форм-реквеста всего лишь говорит, о том, что ты умеешь пользоваться форм-реквестами в ларе
технически - разницы никакой нет
Выглядит изящнее - бесспорно
Taras Lisennk
@Lisennk
Jul 19 2016 17:10
Ну это будет Open Source проект
и я хочу такой типа гайс лук хав амэйзинг
а не гайс донт лук итс говнокод
Роман Сохарев
@greabock
Jul 19 2016 17:11
это каверкание английского...
пиши правильно
Taras Lisennk
@Lisennk
Jul 19 2016 17:11
ага
Роман Сохарев
@greabock
Jul 19 2016 17:11
govnocode
JhaoDa
@jhaoda
Jul 19 2016 17:11
@Taras-S большая часть опенсорс-проектов — говнокод, не парься :)
Taras Lisennk
@Lisennk
Jul 19 2016 17:12
@greabock я это понимаю, я специально)
Роман Сохарев
@greabock
Jul 19 2016 17:12
@Taras-S да я тож не по серьёзке
@jhaoda подтверждаю
Taras Lisennk
@Lisennk
Jul 19 2016 17:13
А вообще, что мне нужно знать, чтобы в резюме указать <<Laravel 5>> и не врать? Пока всего пару проектов на нем сделал
Роман Сохарев
@greabock
Jul 19 2016 17:13
знать Laravel 5 =)
Taras Lisennk
@Lisennk
Jul 19 2016 17:14
а что в этом входит?)
JhaoDa
@jhaoda
Jul 19 2016 17:14
@Taras-S что за символы << >> ?
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 17:14
@Taras-S фсио %)
Taras Lisennk
@Lisennk
Jul 19 2016 17:14
@jhaoda кавычки
JhaoDa
@jhaoda
Jul 19 2016 17:14
@Taras-S с каких пор это кавычки?
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 17:14
@jhaoda это дженерик дженерика
Роман Сохарев
@greabock
Jul 19 2016 17:14
сейчас @jhaoda те покажет как правильно хреначить ёлочку
JhaoDa
@jhaoda
Jul 19 2016 17:14
@Taras-S я тебя щас забаню за оскорбление русского языка :)
Роман Сохарев
@greabock
Jul 19 2016 17:14
ну как давай!
я не про бан
я про ёлочки )
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 17:15
банхаммер
KarmaBot
@KarmaBot
Jul 19 2016 17:15
@SerafimArts, тебе выданы :hammer: :hammer: на 0.5 секунды. Наслаждайся ;)
JhaoDa
@jhaoda
Jul 19 2016 17:15
И никакой ВладЩербин меня не остановит! :)
@Taras-S держи — «»
И ещё раз всем рекомендую типографскую раскладку Бирмана
Taras Lisennk
@Lisennk
Jul 19 2016 17:16
Я знаю паттерны проектирования, PHP 5, Laravel вот мучаю. Ещё JS, препроцессоры, CSS, HTML, TypeScript даже. Мне 16 лет, я слышал, что смотрят в GitHub на собеседовании и требуют фреймворки, поэтому я решил сразу их изучать и как раз коммитить в Open Source)
@jhaoda спасибо :3
KarmaBot
@KarmaBot
Jul 19 2016 17:16
Спасибо (+1) для @jhaoda принято! Текущая карма +1057.
Роман Сохарев
@greabock
Jul 19 2016 17:16
святые коровы...
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 17:17

Я знаю паттерны проектирования, PHP 5, Laravel вот мучаю. Ещё JS, препроцессоры, CSS, HTML, TypeScript даже. Мне 16 лет

@Taras-S вы приняты! Когда можете приступать?

Роман Сохарев
@greabock
Jul 19 2016 17:18
во первых, если ты хочешь найти нормальную работу, выкинь из резюме все кроме одной-двух технологий. Иначе с таким швейцарским ножом только корпоративные порталы на битриксе хреначить .
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 17:24
@greabock нифига
ты моё резюме видел? :D
Роман Сохарев
@greabock
Jul 19 2016 17:24
@SerafimArts ой, ты-то вообще наркоман
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 17:24
@greabock это там тоже есть
:D
там всё, начиная с практического опыта создания вселенных, заканчивая теоретической чёрной магии
Роман Сохарев
@greabock
Jul 19 2016 17:26
@SerafimArts на одного такого жреца Ктулху, приходится 999 ребят, которые просто слов умных нахватались
JhaoDa
@jhaoda
Jul 19 2016 17:27
Знаете, писать в резюме, что знаешь HTML это как писать, что знаешь русский алфавит
Роман Сохарев
@greabock
Jul 19 2016 17:27
и я о том
и если пишешь JS - это должно означать, что ты на грёбанных прототипах собаку съел, а не то, что ты пару плагинчиков к жейквери накатал
Taras Lisennk
@Lisennk
Jul 19 2016 17:31
Ой, прототипы..
Anton Vorontsov
@symbios-zi
Jul 19 2016 17:31
сейчас уже знание ES6 актуально )
Taras Lisennk
@Lisennk
Jul 19 2016 17:31
Согласен
ES6 + TypeScript
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 17:31
@Taras-S не согласен
ES7 + Flow
Роман Сохарев
@greabock
Jul 19 2016 17:31
пфф
Taras Lisennk
@Lisennk
Jul 19 2016 17:31
TypeScript всё из ES6 и ES7 включает
JhaoDa
@jhaoda
Jul 19 2016 17:32
@SerafimArts чо за Flow? Очередная хипсторская зараза?:)
Taras Lisennk
@Lisennk
Jul 19 2016 17:32
а ещё в TypeScript есть строгая типизация)
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 17:32
@jhaoda https://flowtype.org/ наркомн щтоле?
@Taras-S понимаешь ли... тайпскрипт не нужен
ну вот так, не нужен и всё
когда есть ES7 + Flow
JhaoDa
@jhaoda
Jul 19 2016 17:32
@SerafimArts почему я должен это знать? Ну и не открывается он
Роман Сохарев
@greabock
Jul 19 2016 17:33
@jhaoda забей, это статическая типзация
Taras Lisennk
@Lisennk
Jul 19 2016 17:33
@SerafimArts Flow какие-то хипстеры поддерживают, а TypeScript Microsoft + Google
намного лучше я думаю
JhaoDa
@jhaoda
Jul 19 2016 17:33
@SerafimArts ты не забывай, что фронтэнд-наркоман тут ты один. Ну и Влад ещё, возможно
Taras Lisennk
@Lisennk
Jul 19 2016 17:34
а я )
Роман Сохарев
@greabock
Jul 19 2016 17:34
Не дорос еще
JhaoDa
@jhaoda
Jul 19 2016 17:34
@Taras-S ты ещё, возможно, одумаешься :)
Taras Lisennk
@Lisennk
Jul 19 2016 17:35
хз)
я тут самый больший наркоман
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 17:35
@Taras-S ну фейсбук хипстерами называть...
Taras Lisennk
@Lisennk
Jul 19 2016 17:35
потому что у меня потому что параллельно WordPress поддерживаю хорошему заказчику)
Роман Сохарев
@greabock
Jul 19 2016 17:36
@Taras-S не матерись
Taras Lisennk
@Lisennk
Jul 19 2016 17:36
@SerafimArts тогда это похоже на крутую штуку. А почему я о нем первый раз слышу?
Роман Сохарев
@greabock
Jul 19 2016 17:36
лол...
JhaoDa
@jhaoda
Jul 19 2016 17:36
Так, они уже спелись :(
Taras Lisennk
@Lisennk
Jul 19 2016 17:37
Кирилл, в лс напишу чтобы не мешать ребятам
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 17:37
@Taras-S нене, @jhaoda не может меня забанить, так что продолжим тут
Роман Сохарев
@greabock
Jul 19 2016 17:37
Да ты че, они ж как вампиры. Один жабаскриптер ужалил другого, и тот сразу становится жабаскриптером...
Taras Lisennk
@Lisennk
Jul 19 2016 17:38
Ну ок)
Почему TS плохой?
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 17:38
@Taras-S потому что для описания каждой либы, функции и прочего нужен d.ts файл
ну т.е. вообще ко всему
а JS не предназначен для строгой типизации
Taras Lisennk
@Lisennk
Jul 19 2016 17:39
если он не предназначен, то зачем нужен Flow?
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 17:39
как следствие в 99% используется тип any - в этот момент типизация отрубется
а в TS так устроено, что ты не можешь указывать строгие типы, когда юзаешь any
Taras Lisennk
@Lisennk
Jul 19 2016 17:39
ну большинство библиотек вроде бы уже описаны типами
JhaoDa
@jhaoda
Jul 19 2016 17:40
@SerafimArts зато я могу забанить... угадай, кого?
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 17:40
в результате проект скатывается в any-any-any
@jhaoda пссс, подожди
JhaoDa
@jhaoda
Jul 19 2016 17:40
@SerafimArts ну идите в личку уже
Роман Сохарев
@greabock
Jul 19 2016 17:40
дуйте в приват короч
Taras Lisennk
@Lisennk
Jul 19 2016 17:55
Тогда вопрос по ларавелю. Если фасад в ларавеле не имеет ничего общего с паттерном фасад, то почему его так назвали? Могли бы другое имя выбрать, чтобы избежать путаницы
JhaoDa
@jhaoda
Jul 19 2016 17:55
@Taras-S задай вопрос мистеру Ти
vava
@vaz9
Jul 19 2016 17:55
Где найти знатоков по XAMPP?
Роман Сохарев
@greabock
Jul 19 2016 17:56
@vaz9 в аду, надеюсь =)
Taras Lisennk
@Lisennk
Jul 19 2016 17:57
@jhaoda это кто?
vava
@vaz9
Jul 19 2016 17:57
@greabock ну а серьезн?
JhaoDa
@jhaoda
Jul 19 2016 17:57
@Taras-S это создатель ларавель
Taras Lisennk
@Lisennk
Jul 19 2016 17:57
@vaz юзай Vagrant, серьезно
@jhaoda ахах)
JhaoDa
@jhaoda
Jul 19 2016 17:57
@Taras-S не вагрант, а докер
Ну или хотя бы nginx+php-fpm
Роман Сохарев
@greabock
Jul 19 2016 17:57
@jhaoda не докер, а научись руками ставить )
Taras Lisennk
@Lisennk
Jul 19 2016 17:58
@jhaoda но ведь ларавель юзает Vagrant
vava
@vaz9
Jul 19 2016 17:58
сейчас не могу перейти, нужно это УГ запустить норм
JhaoDa
@jhaoda
Jul 19 2016 17:58
@greabock не мешай мне показывать, что я современный разработчик и знаю умные слова!
vava
@vaz9
Jul 19 2016 17:58
проблема в локхосте
JhaoDa
@jhaoda
Jul 19 2016 17:58
@Taras-S и что?
Taras Lisennk
@Lisennk
Jul 19 2016 17:59
@jhaoda ну это ведь чатик о ларавеле, так что как-то не логично
JhaoDa
@jhaoda
Jul 19 2016 17:59
@Taras-S а что, ларавель без вагранта не работает?
Роман Сохарев
@greabock
Jul 19 2016 17:59
@Taras-S @Taras-S ларавель юзает php. Все остальное - пыль для хипстеров )
JhaoDa
@jhaoda
Jul 19 2016 17:59
Может ещё и Forge надо всем юзать?
Taras Lisennk
@Lisennk
Jul 19 2016 18:00
@jhaoda Laravel Homestead не работает)
JhaoDa
@jhaoda
Jul 19 2016 18:00
@Taras-S а что, ларавель без Homestead не работает?
Taras Lisennk
@Lisennk
Jul 19 2016 18:00
@jhaoda работает, но с Homestead он работает проще
JhaoDa
@jhaoda
Jul 19 2016 18:01
@Taras-S нифига подобного
У меня и без Homestead всё прекрасно и просто работает
asvae
@asvae
Jul 19 2016 18:01
@greabock с докером работаешь? Я как-то погиб, пытаясь навикату (mysql гуи) доступ туда пробить. С тех пор на вагранте.
Роман Сохарев
@greabock
Jul 19 2016 18:02
так только баловался
vava
@vaz9
Jul 19 2016 18:03
да работает спокойно приложение, у меня локалхост почему то не работает, а постоянно ссылается на другой проект ( в другой папке) и из-за этого liveReload не пашет для проекта с ларавелом
Vitaliy
@liseenko-v
Jul 19 2016 18:04
Доброго времени суток, подскажите, кто сталкивался, при переносе на хостинг не работают политики (laravel 5.2), в чем может быть причина?
KarmaBot
@KarmaBot
Jul 19 2016 18:04
@liseenko-v, привет =)
asvae
@asvae
Jul 19 2016 18:04
@vaz9 а ты хосты прописал?
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 18:05
@Taras-S наоборот
JhaoDa
@jhaoda
Jul 19 2016 18:05
@liseenko-v как ты узнал, что дело в политиках?
vava
@vaz9
Jul 19 2016 18:05
везде все прописано
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 18:05
лара в разы проще ставится и с ней работать проще без хомстеда
Vitaliy
@liseenko-v
Jul 19 2016 18:05
@jhaoda без них все работает отлично
vava
@vaz9
Jul 19 2016 18:05
@Asvae даже удалил все упоминания о другой папке в httpd-vhosts и hosts в вин 32
вот в чем безумие!!!!
JhaoDa
@jhaoda
Jul 19 2016 18:06
@liseenko-v а у тебя вообще аутентификация работает? Сессии?
Vitaliy
@liseenko-v
Jul 19 2016 18:06
@jhaoda Да, конечно, пользователь залогиненный
vava
@vaz9
Jul 19 2016 18:06
This message was deleted
Роман Сохарев
@greabock
Jul 19 2016 18:06
@jhaoda вот-так, понял? Без них работает. С ними не работет. Доставай зубной порошок... будем шары полировать... хрустальные
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 18:07

хомстед - это тупо маркетинговая хрень, так же как:
1) Валет
2) Фордж
3) Энвойер
4) Ларавель инсталлер
5) Люмен

все перечисленные выше штуки - это тупо маркетинговые хрени, которые не нужны 99.5% разрабам, использующим ларку

vava
@vaz9
Jul 19 2016 18:07
в общем и прописал виртуальный хост для локалки, все равно
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 18:07
Правда хомстед иногда полезен, но для избранных и для тех, кто не шарит в докер
JhaoDa
@jhaoda
Jul 19 2016 18:08
@liseenko-v хз, я в упор не помню, что бы в политиках было что-то такое особое. Они работают поверх аутнетификации, больше им ничего не надо
vava
@vaz9
Jul 19 2016 18:09
This message was deleted
JhaoDa
@jhaoda
Jul 19 2016 18:09
@vaz9 это не твиттер, чувак
vava
@vaz9
Jul 19 2016 18:09
Спасибо за интерес, задача решена.
Vitaliy
@liseenko-v
Jul 19 2016 18:09
@jhaoda вот и мне интересно,т.к предыдущий проект на ларе 5.1 крутится на этом же хосте и все нормально у него с политиками,а на локалке оба проекта работают с политиками отлично
JhaoDa
@jhaoda
Jul 19 2016 18:09
Не надо тут поток своих мыслей озвучивать
vava
@vaz9
Jul 19 2016 18:10
@jhaoda покеда
JhaoDa
@jhaoda
Jul 19 2016 18:10
@vaz9 не споткнись, ага
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 18:11
This message was deleted
This message was deleted
Vitaliy
@liseenko-v
Jul 19 2016 18:18
@jhaoda Пользователя подставляю из контракта Authenticatable и дальше использую фасад Gate
JhaoDa
@jhaoda
Jul 19 2016 18:18
@liseenko-v зачем что-то подставлять? Там всё и так работает
Vitaliy
@liseenko-v
Jul 19 2016 18:19
@jhaoda Да,все верно,оно должно работать и без,но тем не менее
JhaoDa
@jhaoda
Jul 19 2016 18:19
@liseenko-v ну покажи, как ты это делаешь
Vitaliy
@liseenko-v
Jul 19 2016 18:21
This message was deleted
@jhaoda
 if (Gate::denies('show', $flow)) {
            abort(403);
 }
JhaoDa
@jhaoda
Jul 19 2016 18:22
@liseenko-v ну так это же не политики
@liseenko-v да и код бы оформлять надо
Vitaliy
@liseenko-v
Jul 19 2016 18:23
@jhaoda сорри за оформление, но используется-то класс политик здесь, который предварительно зарегистрирован
JhaoDa
@jhaoda
Jul 19 2016 18:24
@liseenko-v не надо сорри, надо исправить сообщение
@liseenko-v что мешает делать это через контроллер или модель юзера?
@liseenko-v а если отступы поправишь, то вообще красота будет
Ты же у себя в редакторе код форматируешь? Почему же мы должны читать такую раскоряку?
Ваня Devium
@webdevium
Jul 19 2016 18:29
корягу)
Vitaliy
@liseenko-v
Jul 19 2016 18:29
@jhaoda пробовал через модель юзера, но результат тот же
JhaoDa
@jhaoda
Jul 19 2016 18:30
@liseenko-v ну так проверяй. Вызывается ли вообще твоя политика и метод в ней?
Если вызывается, то что приходит в метод? Почему такие элементарные способы отладки объяснять надо?
Taras Lisennk
@Lisennk
Jul 19 2016 19:00

А почему ты используешь

 return app()->call([$bot, $request->getCommand()], [$request->getInput());

А не

$command = $request->getCommand();
$input = $request->getInput();
$bot->$command($input);

?

Роман Сохарев
@greabock
Jul 19 2016 19:04
@Taras-S позволит инжектить зависимости прямо в методах бота
Taras Lisennk
@Lisennk
Jul 19 2016 19:04
покажи как, пожалуйста
Роман Сохарев
@greabock
Jul 19 2016 19:07
@Taras-S
class MyMegaBot 
{
    public function someFunction(SomeDependedServervice $service, $input){
         $service->doSomeThingWithMyInput($input);
     }
}
Ну, допустим мэйлер там или еще какая хрень
Taras Lisennk
@Lisennk
Jul 19 2016 19:10
Спасибо
KarmaBot
@KarmaBot
Jul 19 2016 19:10
@Taras-S, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Taras Lisennk
@Lisennk
Jul 19 2016 19:10
Спасибо @greabock
KarmaBot
@KarmaBot
Jul 19 2016 19:10
Спасибо (+1) для @greabock принято! Текущая карма +405.
Роман Сохарев
@greabock
Jul 19 2016 19:11
ты че творишь???
у меня ж 404 было!
тьфу блин
:worried:
Taras Lisennk
@Lisennk
Jul 19 2016 19:12
Извини, можно как-то отменить? А вообще, меньше помогай, а то до 410 дойдет)
Dave
@aios
Jul 19 2016 19:14
@Taras-S или до 503
Роман Сохарев
@greabock
Jul 19 2016 19:14
хм....
@SerafimArts у меня идея!
Vitaliy
@liseenko-v
Jul 19 2016 19:15
@jhaoda Спасибо!
KarmaBot
@KarmaBot
Jul 19 2016 19:15
Спасибо (+1) для @jhaoda принято! Текущая карма +1058.
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 19:18
@greabock поздравляю! :warning:
Роман Сохарев
@greabock
Jul 19 2016 19:18
@SerafimArts cпасибо )
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 19:18
@greabock и тебе cпасибо за спасибо =)
Роман Сохарев
@greabock
Jul 19 2016 19:19
XD))
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 19:19
карма
KarmaBot
@KarmaBot
Jul 19 2016 19:19
@SerafimArts, Ваша карма +519. Вы благодарили 311 раз.
- Достижения: "Находчивый", "Благодарный", "Любитель сладкого", "Нахлебник", "Благодетель", "Вопрошайка", "Рэмбо"
- Профиль SerafimArts на laravel.su
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 19:19
а, ну ок, я так и подумал что ты читеришь
Роман Сохарев
@greabock
Jul 19 2016 19:22
надо короч, так сделать, чтоб когда пишешь карма, если количество кармы соответствует какому-то http коду состояния, то этот статус выводился...
вещь абсолютно бесполезная, но прикольно ))
Taras Lisennk
@Lisennk
Jul 19 2016 19:24
Возвращаясь к моему вопросу выше, как лучше всего парсить команду в моем FormRequest? Добавить код парсинга в расширенный метод capture?
Роман Сохарев
@greabock
Jul 19 2016 19:24
@Taras-S да не извращайся ты так
Taras Lisennk
@Lisennk
Jul 19 2016 19:24
а как тогда?
Роман Сохарев
@greabock
Jul 19 2016 19:24
просто достань из текста, как уже доставал
Taras Lisennk
@Lisennk
Jul 19 2016 19:25
ну это ясно
куда этот код доставания текста засунуть?
я думаю метод capture расширить лучше всего
в моем форм реквесте
Роман Сохарев
@greabock
Jul 19 2016 19:28
да хотябы и туда
Ты же, кстати, непосредственной валидацией не занимешься?
Можно от простого реквеста расшириться
Taras Lisennk
@Lisennk
Jul 19 2016 19:30
так от него и расширился)
Роман Сохарев
@greabock
Jul 19 2016 19:31
можно вообще разбор параметров запускать в момент обращения к геттеру
тогда и оверрайдить ничего не надо
Taras Lisennk
@Lisennk
Jul 19 2016 19:31
но это не очень красиво
лучше заоверрайдить
Роман Сохарев
@greabock
Jul 19 2016 19:31
не очень красиво?
Taras Lisennk
@Lisennk
Jul 19 2016 19:31
оверрайд то красивее
Роман Сохарев
@greabock
Jul 19 2016 19:32
чем это?
Taras Lisennk
@Lisennk
Jul 19 2016 19:32
да
Роман Сохарев
@greabock
Jul 19 2016 19:32
вызовом parent::capurte() ?
Taras Lisennk
@Lisennk
Jul 19 2016 19:32
это будет велосипед
да
это стандартная возможность языка всё таик
*таки
Роман Сохарев
@greabock
Jul 19 2016 19:33
как помне, так вообще пофиг
а если учесть тот факт, что ты распарсишь параметры, которые возможно вообще не потребуются...
то про красоту можно молчать
Taras Lisennk
@Lisennk
Jul 19 2016 19:35
подожди
они потребуются
потому что если они не потребуются то я не буду вызывать этот реквест
Смотри как я заоверрайдил. Норм?
    static function capture()
    {
        $instance = parent::capture();
        $instance->parseCommand();
        return $instance;
    }
Роман Сохарев
@greabock
Jul 19 2016 19:37
да норм, норм, где тут можно накосячить-то? =)
Taras Lisennk
@Lisennk
Jul 19 2016 19:38
просто там ещё можно в instance() это запхнуть
по сути, одно и то же
но вроде это будет как когда мы к паттерну синглтон сверху говна прилепим
я просто хочу, чтобы всё было идеально)
Роман Сохарев
@greabock
Jul 19 2016 19:40
ты бы уже дописал бота и спокойно занимался рефакторингом
Taras Lisennk
@Lisennk
Jul 19 2016 19:41
так он дописан
я вот и занимаюсь)
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 19:50
Добрый вечер. Не могу настроить кроссбраузерный запрос на AJAX'e к Laravel.
KarmaBot
@KarmaBot
Jul 19 2016 19:50
О! @kirillfedorenko_twitter! Сто лет не виделись!) Как жизнь молодецкая? Рассказывай :)
Роман Сохарев
@greabock
Jul 19 2016 19:50
кроссбраузерный ???
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 19:50
Кроссдоменный*
Роман Сохарев
@greabock
Jul 19 2016 19:50
вот
уже лучше )
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 19:51
кроссплатформенный, 146%
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 19:51
header('Access-Control-Allow-Origin: *');
Не принимает :(
Роман Сохарев
@greabock
Jul 19 2016 19:51
кросскроссовый
я победил
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 19:51
Кроссбеговой
public function authAndSave()
    {
        header('Access-Control-Allow-Origin: *');
        header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
        header('Access-Control-Allow-Headers: Origin, Content-Type, Accept, Authorization, X-Request-With');
        header('Access-Control-Allow-Credentials: true');
        if (!(isset($_POST['login']) && isset($_POST['password'])))
            return json_encode(['error' => ['error_code' => 0, 'error_msg' => 'Ошибка! Вы не ввели логин или пароль!']]);
        if (!isset($_POST['ref'])) $_POST['ref'] = 1;

        return userGetInfo::getToken();
    }
В итоге заголовки не передаются..
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 19:52
это точно код не из битрикса?
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 19:52
:D
Это точно код из php xD
Роман Сохарев
@greabock
Jul 19 2016 19:53
https://www.youtube.com/watch?v=HcfHBgUTn7I
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 19:54
На голой пэхе решалось всё одной строкой header('Access-Control-Allow-Origin: *');, но здесь же...
JhaoDa
@jhaoda
Jul 19 2016 19:54
@kirillfedorenko_twitter и? Ошибка-то какая?
И ФФ, и хром явно пишут, что не нравится им при ошибках CORS
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 19:54
XMLHttpRequest cannot load http://vk.du/vk/authAndSave. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. The response had HTTP status code 500.
JhaoDa
@jhaoda
Jul 19 2016 19:55
@kirillfedorenko_twitter пфффф, status code 500
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 19:55
Net, оно изначально отдает ошибку заголовков.
JhaoDa
@jhaoda
Jul 19 2016 19:55
Сначала это почини, а потом уже CORS
Роман Сохарев
@greabock
Jul 19 2016 19:55
мдя
JhaoDa
@jhaoda
Jul 19 2016 19:55
@kirillfedorenko_twitter Origin 'null' is therefore not allowed access
Читать не умеешь, штоле?
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 19:56
Так я читал, даже гугл читал! header('Access-Control-Allow-Origin: *');
Nuzsk
@Nuzsk
Jul 19 2016 19:56
ориджин нулл из тхерефоре нот аллвед аксес
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 19:56
@kirillfedorenko_twitter а ларку читал? +)
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 19:57
ЛАЛАРКУ читал!
Всё читал!
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 19:57
@kirillfedorenko_twitter и какого фига ты хедеры отправляешь, вместо добавления в ответ?
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 19:57
=0
Роман Сохарев
@greabock
Jul 19 2016 19:57
Очень похоже, что ты хреначишь запрос прямо со странички, котороую с рабочего стола запустил
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 19:58
Роман, AJAX.
Роман Сохарев
@greabock
Jul 19 2016 19:58
Со странички с рабочего стола?
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 19:58
))
JhaoDa
@jhaoda
Jul 19 2016 19:58
@kirillfedorenko_twitter https://github.com/barryvdh/laravel-cors
Роман Сохарев
@greabock
Jul 19 2016 19:59
Я к тому, есть ли у тебя домен хотяб на этой страничке?
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 19:59
Ага, диск С.
JhaoDa
@jhaoda
Jul 19 2016 19:59
И не показывай больше здесь такой код :point_up: 20 июля 2016 г., 02:51
Роман Сохарев
@greabock
Jul 19 2016 19:59
...
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 19:59
jhaoda, почему? :)
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 19:59
+1, у меня от него кое-что слиплось
JhaoDa
@jhaoda
Jul 19 2016 19:59
10 лет непрерывного расстрела...
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 19:59
Чем вам ифы не понравились?
JhaoDa
@jhaoda
Jul 19 2016 20:00
@kirillfedorenko_twitter кто сказал про ифы?
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 20:00
я говорю про ифы
как-минимум они не отвечают ни PSR, ни ГОСТу
JhaoDa
@jhaoda
Jul 19 2016 20:00
А я добавлю про $_POST
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 20:00
А пост чем не устроил? :D
JhaoDa
@jhaoda
Jul 19 2016 20:00
И про header() добавлю
Nuzsk
@Nuzsk
Jul 19 2016 20:00
там в if условие неправильное
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 20:01
@kirillfedorenko_twitter ой всё
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 20:01
Nuzsk, еще ткни меня пальцем в мой код и покажи где неправильно
JhaoDa
@jhaoda
Jul 19 2016 20:01
@kirillfedorenko_twitter ты троллишь, да?
Там всё неправильно
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 20:01
хеадеры я не специально добавил, гугл так подсказал
JhaoDa
@jhaoda
Jul 19 2016 20:02
@kirillfedorenko_twitter парень, иди ставь пакет, что я кинул и потом учи матчать
Nuzsk
@Nuzsk
Jul 19 2016 20:02
@kirillfedorenko_twitter скобки, неуместные инверсии, запись в глобальный пост
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 20:02
@jhaoda а нафига пакет?
корс одной миддлварей решается
JhaoDa
@jhaoda
Jul 19 2016 20:02
@SerafimArts а ты хочешь ему тут разжевать? Или написать эту мидлварю за него?
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 20:03
пусть сам читает мануал
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 20:03
Злые дяди, я отсюда мидлвар поставил: http://www.cyberforum.ru/php-frameworks/thread1503621.html
JhaoDa
@jhaoda
Jul 19 2016 20:03
@SerafimArts ну тоже вариант, но подозреваю, что с пакетом будет быстрее
Роман Сохарев
@greabock
Jul 19 2016 20:04
@jhaoda @SerafimArts ребят, ему не поможет ничего. Он из файловой системы страничку заупстил, и пытается аяксы хреначить. У него ориджин null.
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 20:04
@greabock :D
JhaoDa
@jhaoda
Jul 19 2016 20:04
@kirillfedorenko_twitter поздравляю. Вот там и спроси, почему не работает
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 20:04
откройте старничку
на форуме
там как бы всё ок
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 20:04
Я так и подумал, особенно когда пытался сокеты с локалхоста открыть в IE.
(ерунду написал)
JhaoDa
@jhaoda
Jul 19 2016 20:05
Ага, и видеореклама на этом форуме, даже адблок не спас
Kirill Nesmeyanov
@SerafimArts
Jul 19 2016 20:05
@jhaoda у меня адблок толще :P
JhaoDa
@jhaoda
Jul 19 2016 20:06
@SerafimArts а оно с задержкой, как бы не минуту после октрытия
Федоренко Кирилл
@kirillfedorenko_twitter
Jul 19 2016 20:06
хотел показать код свой, оценили бы, но боюсь много помидоров прилетит в ответ
JhaoDa
@jhaoda
Jul 19 2016 20:06
Мы видели код, хватит...