These are chat archives for LaravelRUS/chat

22nd
Nov 2015
Islam
@islamw
Nov 22 2015 00:09 UTC
Привет
Кто знает удобный пакет для работы с гугл картами? интересует именно автокомплит
подключил https://github.com/alexpechkarev/google-maps но он корявый
Andrey Helldar
@andrey-helldar
Nov 22 2015 03:13 UTC
Всем привет!
Кто юзает библиотеку, позволяющую автоматом генерировать мануал?
Гугл в большинстве своем ссылается на phpDocumentor, но чет он у меня не пошел...
KarmaBot
@KarmaBot
Nov 22 2015 03:13 UTC
@AndreyHelldar, привет, как настроение?
Andrey Helldar
@andrey-helldar
Nov 22 2015 03:13 UTC
@KarmaBot прогрессируешь?)
Блин.... Дожили.... Уже с ботом разговариваю)))
Ivan Khromov
@ikhrome
Nov 22 2015 03:14 UTC
привет всем, кому не спится)))
KarmaBot
@KarmaBot
Nov 22 2015 03:14 UTC
@ikhrome, здравствуй.
Ivan Khromov
@ikhrome
Nov 22 2015 03:14 UTC
@andrey-helldar бывает)
Andrey Helldar
@andrey-helldar
Nov 22 2015 03:15 UTC
@ikhrome это точно)
Roman
@fearrr
Nov 22 2015 03:37 UTC
Ребят подскажите как передать переменную в замыкание Mail::send()???
Mail::send('emails.welcome', $data, function ($message) {
                $message->from('info@domain.ru', 'Sender name');
                $message->to('info@domain.ru');
                $message->subject('СЮДА НУЖНО ПЕРЕДАТЬ ПЕРЕМЕННУЮ ИЗ $request');
            });
если напрямую передать Undefined variable:
Andrey Helldar
@andrey-helldar
Nov 22 2015 03:44 UTC
@fearrr ее надо заюзать:
Mail::send('emails.welcome', $data, function ($message) use ($request) {
                $message->from('info@domain.ru', 'Sender name');
                $message->to('info@domain.ru');
                $message->subject('СЮДА НУЖНО ПЕРЕДАТЬ ПЕРЕМЕННУЮ ИЗ $request');
});
Roman
@fearrr
Nov 22 2015 03:50 UTC
@andrey-helldar от души) спасибо
KarmaBot
@KarmaBot
Nov 22 2015 03:50 UTC
Спасибо (+1) для @AndreyHelldar принято! Текущая карма +6.
Roman
@fearrr
Nov 22 2015 03:51 UTC
@andrey-helldar как-то не часто приходится такой конструкцией пользоваться, будем знать
Andrey Helldar
@andrey-helldar
Nov 22 2015 03:54 UTC

@fearrr в моем проекте часто)
Кстати, если тебе нужно передать несколько переменных в функцию, то используй такую конструкцию:

Mail::send('emails.welcome', $data, function ($message) use ($myValue1, $myValue2, $myValue3) { }

И так перечисляй все переменные, которые необходимо передать извне.

Работает не только с мылом. Кстати, юзай лучше "Mail::queue()" - "send" сразу отправляет письмо, а если, например, тебе одновременно надо 1000 писем отправить, лучше юзать очередь - "queue":

Mail::queue('emails.welcome', $data, function ($message) use ($request) {
                $message->from('info@domain.ru', 'Sender name');
                $message->to('info@domain.ru');
                $message->subject('СЮДА НУЖНО ПЕРЕДАТЬ ПЕРЕМЕННУЮ ИЗ $request');
});
В моем проекте при работе с кэшем БД часто конструкция подхвата переменных используется. Например:
$content = \Cache::remember('content_'.$slug, 3600, function() use ($category_id, $slug) {
                    return \MYAPP\News::whereActive(true)->where('category_id', $category_id)->whereSlug($slug)->first();
                });
Roman
@fearrr
Nov 22 2015 03:59 UTC
@andrey-helldar понял, спасибо еще раз за пример) А очередь отправки не нужно где-то опрделять?? Просто использовать метод queue??
Andrey Helldar
@andrey-helldar
Nov 22 2015 04:02 UTC
@fearrr да, просто юзаешь ее и все.
Сами настройки ее хранятся в файле config/queue.php
Roman
@fearrr
Nov 22 2015 04:06 UTC
@andrey-helldar затестил, вроде работает.. тоже быстро присылает
Andrey Helldar
@andrey-helldar
Nov 22 2015 04:08 UTC
@fearrr Если отправляешь, скажем, 5 писем одновременно, что "send", что "queue" одновременно отправят.
А если, например, 1000, первый всю штуку сразу зашлет, создав нагрузку, а второй в очередь поставит и будет пачками отправлять. Не помню по сколько штук. То ли по 10, то ли другое число)

@fearrr http://laravel.com/docs/5.1/mail#queueing-mail

Еще можешь заюзать метод "later", вручную указав задержку в секундах перед отправкой письма:

Mail::later(5, 'emails.welcome', $data, function ($message) {
    //
});
unnamed75
@unnamed75
Nov 22 2015 06:44 UTC
Ребят имеется код foreach($welcoms as $row) { $chanid = "/post/".$row->id.""; $preg = file_get_contents("http://cackle.me/api/3.0/comment/list.json?id=".$siteId."&siteApiKey=".$siteApiKey."&accountApiKey=".$accountApiKey."&chan=".$chanid.""); $preg = json_decode($preg); foreach($preg->comments as $test) { //echo count($test); //echo '<pre>'.print_r($test,1).'</pre>'; } }
var dump для него выдается
@unnamed75 а обернуть в код?
unnamed75
@unnamed75
Nov 22 2015 06:51 UTC
object(stdClass)#200 (1) { ["comments"]=> array(1) { [0]=> object(stdClass)#225 (10) { ["id"]=> int(37297265) ["siteId"]=> int(36050) ["message"]=> string(29) "крутоооо! я рад))" ["rating"]=> int(0) ["status"]=> string(8) "approved" ["created"]=> float(1448089498507) ["author"]=> object(stdClass)#224 (10) { ["id"]=> int(5633589) ["email"]=> string(17) "" ["name"]=> string(29) "" ["avatar"]=> string(59) "" ["www"]=> string(33) "" ["provider"]=> string(8) "mymailru" ["openId"]=> string(29) "" ["verify"]=> bool(true) ["notify"]=> bool(true) ["hash"]=> string(32) "" } ["chan"]=> object(stdClass)#223 (6) { ["id"]=> int(2227422) ["channel"]=> string(10) "/post/1285" ["url"]=> string(23) "" ["title"]=> string(94) "" ["created"]=> float(1448089498501) ["count"]=> int(0) } ["ip"]=> string(15) "" ["modified"]=> string(13) "" } } } object(stdClass)#200 (0) { }
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 07:42 UTC
JhaoDa
@jhaoda
Nov 22 2015 08:53 UTC
@unnamed75 ты до сих пор не научился код оформлять?
Stranger1979
@Stranger1979
Nov 22 2015 10:16 UTC
Новичкам помогаете? Пытаюсь установить homestead. Поставил virtualbox, Git Bash и Vagrant. При выполнении vagrant box add laravel/homestead выдает ошибку, по видимому с неверной кодировкой: incompatible character encodings: IBM866 and ASCII-8BIT (Encoding::CompatibilityError). Что можно сделать?
akylkb
@akylkb
Nov 22 2015 10:18 UTC
как отправить отправить post запрос? через laravel
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 10:21 UTC
@akylkb юзай газл
akylkb
@akylkb
Nov 22 2015 10:23 UTC
@Ellrion Спасибо, пробую
KarmaBot
@KarmaBot
Nov 22 2015 10:23 UTC
Спасибо (+1) для @Ellrion принято! Текущая карма +67.
Stranger1979
@Stranger1979
Nov 22 2015 10:50 UTC
Никто не подскажет? Или хотя бы ссылку где подобная проблема уже обсуждалась.. Весь день ничего путного найти не могу..
Ivan
@Hunternnm
Nov 22 2015 10:53 UTC
@Stranger1979 имя пользователя на русском?
или имя компа
@Stranger1979 + mitchellh/vagrant#2763 первый линк гугла по твоей ошибке
SekToRCoM
@SekToRCoM
Nov 22 2015 12:11 UTC
Добрый день. Не подскажете ли, как работать с "языками" в ларе? @choice('language.line', 1); Как должен выглядеть конфиг?
KarmaBot
@KarmaBot
Nov 22 2015 12:11 UTC
@SekToRCoM, здравствуй.
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 12:30 UTC
@SekToRCoM так а доки не хватает что ли? та вроде все написано
SekToRCoM
@SekToRCoM
Nov 22 2015 12:31 UTC
Строки файлов локализации
@lang('language.line')
@choice('language.line', 1);
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 12:34 UTC
@SekToRCoM тебе кажется что ты что то пояснил, но это не так)
Denis
@DenchikBY
Nov 22 2015 12:42 UTC
как лучше сделать регистрацию mail провайдера при первом использовании? чтоб не грузить его кучу файлов каждый раз
Maxim
@Big-Shark
Nov 22 2015 12:44 UTC
@DenchikBY Чего? Непонятно.
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 12:44 UTC
@DenchikBY то что по автолоуду подрубаются файлы в этом нет ничего страшного. все равно все в байткод закешится. Сам же объект только при использовании пораждается
@DenchikBY и то, даже не подрубаются файлы, я наврал. Они не подключатся пока ты не попытаешься создать объект класса
@DenchikBY так что ты хочешь то что уже и так есть
Denis
@DenchikBY
Nov 22 2015 12:52 UTC
Illuminate\Mail\MailServiceProvider::class - тянет за собой 50+ файлов, не важно что кешируется... почта используется далеко не везде, и каждый запрос глупо их тянуть...
надо его зарегистрировать при первом спользовании Mail::send() или передаче Mailer в аргументы
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 12:55 UTC
@DenchikBY с чего ты взял что он их тянет?
Denis
@DenchikBY
Nov 22 2015 12:57 UTC
debugbar
get_included_files
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 13:13 UTC
@DenchikBY а ты перекрывал этот провайдер?
Denis
@DenchikBY
Nov 22 2015 13:16 UTC
всмысле перекрывал? в настройках я его закоментил чтоб каждый раз не грузился
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 13:20 UTC
@DenchikBY еще раз, нету там 50 файлов и быть не может.
Info-tm
@Info-tm
Nov 22 2015 13:27 UTC
Ребята привет, проблемка (проглгуглил весь инет), windows 7, composer стоит раньше ставил проект ларавел все работало нормально, теперь при команде composer create-project laravel/laravel laravel, выдает ошибку
Failed to decode response: zlib_decode(): data error
Retrying with degraded mode, check https://getcomposer.org/doc/articles/troubles
hooting.md#degraded-mode for more info
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 13:30 UTC

@DenchikBY

get('/test', function () {
    dd(get_included_files());
    return ;
});

получаем примерно 200 файлов

get('/test', function () {
    Mail::getSwiftMailer();
    dd(get_included_files());
    return ;
});

получаем примерно 250 файлов
На чистой ларе. Т.е. пока я не дернул систему у меня фалы не инклюдились. Вывод, ты гдето каждый раз трогаешь мэйлер

Info-tm
@Info-tm
Nov 22 2015 13:33 UTC
был тут, сделал убрал IPv6, все равно не работает
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 13:34 UTC
@Info-tm а антивирь?
Info-tm
@Info-tm
Nov 22 2015 13:34 UTC
выключен
я реально переделал все то что описанно на куче сайтов
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 13:35 UTC
@Info-tm а ты композер сам давно обновлял? composer self-up
вчера обновленный
)
@Ellrion можешь в скайпе помочь? tmmaglumat
экран покажу
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 13:38 UTC
@Info-tm врятли я придумаю что то еще
Info-tm
@Info-tm
Nov 22 2015 13:39 UTC
просто когда гуглил ребята тоже решение не находили ни на гит хаб, вообще ни где, все предложенные варианты перепробовал
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 13:44 UTC
@Info-tm composer clear-cache делал?
Soprun Vladislav
@vlsoprun
Nov 22 2015 15:25 UTC
Здорова народ!
Ardak Shalkarbayuly
@ardakshalkar
Nov 22 2015 15:45 UTC
Привет, я хочу переписать конструктор в Модели, как это сделать, и могут ли быть какие-то проблемы
Soprun Vladislav
@vlsoprun
Nov 22 2015 15:46 UTC
@ardakshalkar function __construct() ?
Ardak Shalkarbayuly
@ardakshalkar
Nov 22 2015 15:46 UTC
какие-то значения надо передавать
Soprun Vladislav
@vlsoprun
Nov 22 2015 15:47 UTC
Да
Ardak Shalkarbayuly
@ardakshalkar
Nov 22 2015 15:47 UTC
Я сделал вот так
public function construct($value = null, array $attributes = array()){
$this->value = $value;
parent::
construct($attributes);
}
Soprun Vladislav
@vlsoprun
Nov 22 2015 15:47 UTC
function __construct(array $attributes)
{
    parent::__construct($attributes);
}
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 15:48 UTC
@ardakshalkar а что ты туда передаешь если не секрет? мб есть более верный способ
Ardak Shalkarbayuly
@ardakshalkar
Nov 22 2015 15:48 UTC
короче есть такая проблема, мне нужно вызывать один аттрибут, который долго вычисляется
Yurik
@inferal
Nov 22 2015 15:49 UTC
Добрый вечер!
KarmaBot
@KarmaBot
Nov 22 2015 15:49 UTC
@inferal, и тебе привет ;)
Ardak Shalkarbayuly
@ardakshalkar
Nov 22 2015 15:49 UTC
я хочу чтобы она вычислилаась только однажды
Soprun Vladislav
@vlsoprun
Nov 22 2015 15:49 UTC
@ardakshalkar а что на счет кэша?
@inferal Привет
Ardak Shalkarbayuly
@ardakshalkar
Nov 22 2015 15:49 UTC
мм а как это примерно
Soprun Vladislav
@vlsoprun
Nov 22 2015 15:50 UTC
Ardak Shalkarbayuly
@ardakshalkar
Nov 22 2015 15:50 UTC
ок спасибо почитаю
Soprun Vladislav
@vlsoprun
Nov 22 2015 15:51 UTC
@ardakshalkar или по русский вот тут
@ardakshalkar если тебе нужно закэшировать "навсегда" то тебе нужно вызывать rememberForever.
$value = Cache::rememberForever('users', function() {
    return DB::table('users')->get();
});
Ardak Shalkarbayuly
@ardakshalkar
Nov 22 2015 15:55 UTC
нет мне нужно только на один раз, может мне Middleware использовать
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 15:56 UTC
@ardakshalkar звучит безумно
Ardak Shalkarbayuly
@ardakshalkar
Nov 22 2015 15:56 UTC
конструктор оказца не подходит, потому что мне нужны связи которые видимо создаются после конструктора
Soprun Vladislav
@vlsoprun
Nov 22 2015 15:56 UTC
@ardakshalkar "навсегда" имеется в веду 1 раз кэш создался и не удаляется из "памяти"..
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 15:57 UTC
@vlsoprun мне кажется пока мы не знаем до конца юзкейс мы можем только гадать да еще и на неправильный путь толкнуть
Ardak Shalkarbayuly
@ardakshalkar
Nov 22 2015 15:57 UTC
вообщем ситуация такая у меня есть первый день урока,
каждый раз при заходе на страницу мне нужно высчитать дни последующих уроков
плюс выходные дни
то есть я изначально сделал accessor, но он раз 5 вызывается на странице
и поэтому каждый раз высчитается дни уроков
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 16:00 UTC
@ardakshalkar как минимум тебя спасет внутренний кеш в акцессоре
protected function getSomeAttribute() {
    if (!isset($this->some)) {
        $this->some  =  //calculate some
    }
    return $this->some
}
akylkb
@akylkb
Nov 22 2015 16:34 UTC
как отправить письмо? не смог разобратся
Mail::send('emails.welcome', array('key' => 'value'), function($message)
{
    $message->to('foo@example.com', 'Джон Смит')->subject('Привет!');
});

---------Ошибка----------------
InvalidArgumentException in FileViewFinder.php line 140:
View [emails.welcome] not found.
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 16:35 UTC
@akylkb ну тебе же написали, что шаблон письма не найден
akylkb
@akylkb
Nov 22 2015 16:36 UTC
@Ellrion а где должен он быть?
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 16:38 UTC
@akylkb resources/views главная директори для шаблонов. Ты говоришь что нужно отправить письмо из "'emails.welcome'" значит у тебя должен быть файл resources/views/emails/welcome.blade.php
а вообще какого хрена ты письма отправляешь если даже про шаблоны не прочитал?
Soprun Vladislav
@vlsoprun
Nov 22 2015 16:39 UTC
@Ellrion ))
akylkb
@akylkb
Nov 22 2015 16:39 UTC
@Ellrion мне через скрипт отправить надо а не через шаблон
просто выполнить запрос
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 16:42 UTC
@akylkb тело письма (содержимое) в шаблоне. какой запрос? хХ ну вообще не хочешь шаблон есть метод raw вместо send. Тогда первый аргумент это не имя вьюхи с письмом а сам текст письма
JhaoDa
@jhaoda
Nov 22 2015 17:06 UTC
Так это же документацию надо читать ВСЮ!
Лучше прочитать только про письма, потому что прямо сейчас есть задача отправлять письма. А если не работает, то задавать глупые вопросы в чате, там всегда найдутся добряки и разжуют и так разжёванную доку.
Orel2888
@Orel2888
Nov 22 2015 17:09 UTC
Хорошо что мир не без добрых людей
@jhaoda а ты злодей
JhaoDa
@jhaoda
Nov 22 2015 17:15 UTC
Я всего лишь пытаюсь донести мысль, что доку надо читать всю, а не только про то, что в даный момент делаешь
Тогда в голове будут систематизированные знания, а не обрывочные, когда про письма знаем, а про шаблоны — нет
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 17:16 UTC
даже скорее так: ее надо читать всю сначала, а потом еще и про то что конкретно в данный момент)
JhaoDa
@jhaoda
Nov 22 2015 17:16 UTC
Именно
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 17:17 UTC
только фиг бы там, как показывает практика народу полно который то и язык не удосужился выучить прежде чем за фрейм браться
Roman
@fearrr
Nov 22 2015 19:03 UTC

Ребят, а можно имя модели задать Model (модели автомобилей)..

получается такой код, не будет конфликта??

class Model extends Model
{
    //
}
Шторм ругается
Soprun Vladislav
@vlsoprun
Nov 22 2015 19:10 UTC
Ну... Вообще ты можешь сделать вот так
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model as EloquentModel;

class Model extends EloquentModel
{
    //
}
Roman
@fearrr
Nov 22 2015 19:27 UTC
@vlsoprun благодарствую
KarmaBot
@KarmaBot
Nov 22 2015 19:27 UTC

Любитель сладкого

@vlsoprun, вы выполнили условие: "Набрать 50 кармы.".
С чем и поздравляем =)
Любитель сладкого
Спасибо (+1) для @vlsoprun принято! Текущая карма +50.
Roman
@fearrr
Nov 22 2015 19:27 UTC
опа, юбиляр)
JhaoDa
@jhaoda
Nov 22 2015 19:31 UTC
И опять человек не читал доку по РНР...
Roman
@fearrr
Nov 22 2015 19:32 UTC
и снова humiliation
JhaoDa
@jhaoda
Nov 22 2015 19:33 UTC
@fearrr с чего бы? Ты ещё начни борьбу за права незаслуженно осокрбляемых мной противников документации :)
@fearrr это даже не дока по ларавель, это вообще основы языка
Roman
@fearrr
Nov 22 2015 19:38 UTC
@jhaoda ну нет, я и не борюсь. Я понимаю, что вероятно специалисты недолюбливают таких как я. Я скажем так любитель, у меня нет необходимости знать все на 99%. Но постепенно я с чем-то осталкиваюсь и это оседает. Так как парралельно я делаю еще маркетинг, прототипирование дизайн UX, UI всех док не перечитать, как это не прискорбно.
Предложение только одно - понять и простить :smile:
Dmitry Shlyomin
@dmitry1337
Nov 22 2015 19:45 UTC
народ, есть ли способ объединить 2 artisan команды? не в кернеле один после другого поставить, а именно чтобы последовательно запускались?
JhaoDa
@jhaoda
Nov 22 2015 19:46 UTC
@dmitry1337 вызови одну из другой
Dmitry Shlyomin
@dmitry1337
Nov 22 2015 19:47 UTC
типа $a = new A();
$a->fire()?
JhaoDa
@jhaoda
Nov 22 2015 19:47 UTC
@dmitry1337 может, в доку глянешь, прежде чем изобретать велосипед?
Ну так, вдруг там уже написано, как это делать...
Dmitry Shlyomin
@dmitry1337
Nov 22 2015 19:48 UTC
о
вроде нашел
Artisan::call
JhaoDa
@jhaoda
Nov 22 2015 19:48 UTC
@dmitry1337 дальше не стал глядеть? Куда вы все торопитесь...
@dmitry1337 там прям раздел такой — «Calling Commands From Other Commands»
@jhaoda ты как википедия по ларе.. реально есть вопрос иди джаконде.
JhaoDa
@jhaoda
Nov 22 2015 19:55 UTC
@aios не надо коверкать ник
@jhaoda ну давай ток без этого.
JhaoDa
@jhaoda
Nov 22 2015 19:57 UTC
@aios у тебя ещё есть время исправить
@jhaoda ну как он читается то правильно?
JhaoDa
@jhaoda
Nov 22 2015 19:58 UTC
@aios jhaoda. Где ты там нашел буквы «к» и «н» — не понятно.
@jhaoda давай уже на верочку - транскрипцией.
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 20:09 UTC
@slider23 а кто автор? там ошибка в трюке про conditional relationships.
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 20:44 UTC
Привет всем.
Кто-то использует докер для разработки? Нужен совет по организации...
KarmaBot
@KarmaBot
Nov 22 2015 20:44 UTC
@Furdarius, привет =)
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 20:50 UTC
Когда спрашивал про Vagrant говорили "Переходи на Докер", перешел на докер, теперь вообще все молчат :D
Bezditnyi Taras
@vertexod
Nov 22 2015 20:50 UTC
Всем бодрой ночи :) А подскажите кто-то по архитектуре Laravel Request...
Есть задача, надо обрабатывать по-разному входящие запросы, т.е. к примеру может прийти один в виде массива: ['search' => 'param1,param2'] второй: ['search'=>['param1', 'param2']] и т.п.
Т.е. нужен какой-то адаптер... но вот думаю, на какой стадии его сделать? Не стоит ли его запихнуть еще на стадии Request?.. т.е. чтобы в случае если ожидаются такие параметры, они декодировались в стандартизированные, и далее в контроллере уже отправлялись запросом в репозиторий;
Или второй вариант на стадии Criteria, но только в этом случае получается громоздкая конструкция, нечто типа: ->pushCriteria(new DataAdapter($request)->getParsedRequest()) что вроде как фу-фу-фу... хотелось бы чего-то более... )
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 20:53 UTC
@vertexod Делаешь так:
routes не трогаешь.
В методе на который приходит запрос получаешь get параметр search.
Делаешь с ним что хочешь
Профит
Bezditnyi Taras
@vertexod
Nov 22 2015 20:55 UTC
Бррр... зачем мне роуты трогать? я и не хочу роуты трогать... тем более параметры могут проходить не как get, а как и пост в том числе... Я понимаю, что входящие можно обрабатывать, вопрос где их обрабатывать лучше, на стадии Request, или на стадии контроллера... И если не на стадии request'a, то почему?
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 20:56 UTC
@vertexod Валидация в Request
Дальше в контроллере
Но в контроллере тоже обрабатывать что-то не надо
Контроллер как прокси работает
Из него в какой-нить сервис, из сервиса назад
Bezditnyi Taras
@vertexod
Nov 22 2015 20:59 UTC
Хм, окей, но вот пытаюсь понять, почему в Request выносят только исключительно только валидацию, а не, например, подгонку принятых данных?..
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 21:00 UTC
@vertexod почему же? я считаю что вполне нормально предобработать структуру данных в запросе, а не только валидацию, чем и пользуюсь в проде
Bezditnyi Taras
@vertexod
Nov 22 2015 21:00 UTC
Воооооот)
Я и пытаюсь найти хоть одного человека, который это практикует... :) А то вижу, что самый удобный слой - это слой request'a, но нигде не могу найти подтверждение сиему.
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:02 UTC
Имхо, в данном случае мы нарушем принцип Single Responsibility
Bezditnyi Taras
@vertexod
Nov 22 2015 21:03 UTC
@Ellrion Насколько понимаю, это наследование от Illuminate\Http\Request , а не App\Http\Request (который от FormRequest идет)?
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 21:03 UTC
@Furdarius ой вот тут не надо, так то и валидация его нарушает
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:03 UTC
@Ellrion Валидация не нарушет
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 21:03 UTC
@vertexod как то так у меня
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:03 UTC
Она не меняет данные
Bezditnyi Taras
@vertexod
Nov 22 2015 21:04 UTC
Furdarius, не обязательно менять данные, можно расширить.
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:04 UTC
Это тоже изменения запроса
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 21:04 UTC
@vertexod при чем тут принцип единой обязанности и мутабильность данных?
Bezditnyi Taras
@vertexod
Nov 22 2015 21:04 UTC
Окей, неправильно выразился, она адаптирует данные.
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 21:06 UTC
@vertexod в общем вот я гист кинул, и соответственно форм реквесты все наследуются от этого методо и в них можно реализовывать метод prepare который приводит данные к нужному виду
Bezditnyi Taras
@vertexod
Nov 22 2015 21:06 UTC
Без наездов, просто рассуждение об архитектуре.
В теории такого рода адптер и был задуман в Laravel, к примеру, что мешает запросить:
public function somefunct(Request $request, AdaptedRequest $adaptedRequest) {}
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:06 UTC
Ну то-есть я рассуждаю так:
Реквест он и есть реквест. Просто ящик в который приходят входные данные. Он их может не принять (Валидация). Изменять он их не может.
Его единственная миссия отдать дальше принятые данные.
JhaoDa
@jhaoda
Nov 22 2015 21:06 UTC
@vertexod когда-то в формреквестах был санитайзер, но потом его выпилили
Полагаю, что Тэйлор считает изменение данных в формреквесте плохой практикой
Bezditnyi Taras
@vertexod
Nov 22 2015 21:07 UTC
@Ellrion спасибо, сейчас буду копать.
KarmaBot
@KarmaBot
Nov 22 2015 21:07 UTC
Спасибо (+1) для @Ellrion принято! Текущая карма +68.
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:07 UTC
Сервисы пусть занимаются изменением данных.
Это будет явно. И в коде и в голове.
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 21:07 UTC
@Furdarius если его единственная обязанность отдать данные о реквесте, то методы валидации и методы авторизованности уже не вписываются в единую ответственность
Bezditnyi Taras
@vertexod
Nov 22 2015 21:07 UTC
jhaoda, а я не предлагаю наследоваться от FormRequest... я предлагаю наследоваться от уровня выше... Illuminate\Http\Request
JhaoDa
@jhaoda
Nov 22 2015 21:08 UTC
@vertexod но тогда не будет встроенной валидации
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:08 UTC
@Ellrion Они вполне вписываются, имхо. Потому что если данные не верные, то и положить ты их в этот "ящик" не можешь. Ну или у тебя нет ключа от ящика.
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 21:08 UTC
@vertexod @jhaoda вариант который устроит обоих это мидлвар)
Bezditnyi Taras
@vertexod
Nov 22 2015 21:08 UTC
Валидация не требуется всегда. К примеру, у нас есть обыкновенное API для листинга.
Хотя ладно, валидация требуется всегда. )
вот тоже думал про middleware... но как-то оно грязновато смотрится... )
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:09 UTC

Ладно... Это все мелочи.

Кто-нибудь докер юзает вообще?

Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 21:10 UTC
@Furdarius вот не надо, это какая то демагогия и подгонка фактов. Объективно валидация и авторизация нарушают принцип единственное ответственности хоть что тут делай)
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:10 UTC
Или кто что юзает для девелопмента?
Bezditnyi Taras
@vertexod
Nov 22 2015 21:10 UTC
И опять же middleware добавляется в request? )
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 21:10 UTC
@vertexod мидлварт добавляется на роут
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:10 UTC
@vertexod Не, он на роуты вешается.
Bezditnyi Taras
@vertexod
Nov 22 2015 21:10 UTC
сорри, я имел ввиду trait-ы
JhaoDa
@jhaoda
Nov 22 2015 21:10 UTC
Но можно и глобально повесить
Bezditnyi Taras
@vertexod
Nov 22 2015 21:10 UTC
сплю уже )
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:11 UTC
@Ellrion Не знаю...
Все-таки Тэйлор не зря, наверное, выпилил
Мне кажется что изменения данных пока они не легли в контроллер вредно
Для дебага как минимум
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 21:11 UTC
@Furdarius тейлов с тальки местах нарушил академичность что не его решения ставить в пример)
он дал удобство и практичность без фанатизма
JhaoDa
@jhaoda
Nov 22 2015 21:12 UTC
Я тоже так считаю. Операции с данными — зона ответственности контроллера, но эти функции он может и делегировать
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:12 UTC
Да
@jhaoda Ты по вин сидишь?
JhaoDa
@jhaoda
Nov 22 2015 21:12 UTC
@Furdarius да
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:13 UTC
@jhaoda А сервер как пускаешь?
виртуалка?
Опенсервер?
JhaoDa
@jhaoda
Nov 22 2015 21:13 UTC
@Furdarius апач как сервис
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:13 UTC
прям на вин?
JhaoDa
@jhaoda
Nov 22 2015 21:13 UTC
Я ортодокс :)
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:13 UTC
А если надо nginx?
Bezditnyi Taras
@vertexod
Nov 22 2015 21:13 UTC
Я не спорю, что это зона ответственности контроллера, но только и Request необходимый указывается в методе контроллера, а не где-то еще ведь.
JhaoDa
@jhaoda
Nov 22 2015 21:13 UTC
@Furdarius да, у апача есть режим сервиса, как и мускуля с постгрёй
@Furdarius не возникало задачи, но nginx есть под винду
Bezditnyi Taras
@vertexod
Nov 22 2015 21:14 UTC
@jhaoda надо больше ада :)
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:14 UTC
@jhaoda Эхх... Думал хоть ты расскажешь как это делается...
JhaoDa
@jhaoda
Nov 22 2015 21:14 UTC
Эта связка у меня уже лет 10, никакого ада
Bezditnyi Taras
@vertexod
Nov 22 2015 21:15 UTC
@jhaoda я про nginx )
JhaoDa
@jhaoda
Nov 22 2015 21:15 UTC
@Furdarius а с опернсерверами я тут часто вижу, как народ мучается
А с вагрантом я сам помучался, хватит
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:15 UTC
@jhaoda Да я ж не про опенсервер.
@jhaoda Вот пока я не успел с вагрантом помучаться. Но решил сразу на Докер
Но там оочень много нюансов
JhaoDa
@jhaoda
Nov 22 2015 21:17 UTC
@Furdarius а тебе зачем? Какие задачи надо решать, что венды мало?
Bezditnyi Taras
@vertexod
Nov 22 2015 21:17 UTC
@Furdarius а что мешает поставить локально apache и не мучаться? Все эти серверы все равно будут тормозить.
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:17 UTC
@jhaoda Ну я на Ubuntu сижу)
Но дело не в оси
JhaoDa
@jhaoda
Nov 22 2015 21:18 UTC
@Furdarius о, а что тогда? Скучно? Хочется церебрального секса?
Bezditnyi Taras
@vertexod
Nov 22 2015 21:22 UTC
Хочется секса - перейди с Ubuntu на FreeBSD... :)
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:22 UTC

@jhaoda @vertexod
Идея в том что бы любой мог запустить весь стэк на своем компе быстро. Это раз.
Второе - выкатывать на прод как? Ansible или Puppet? Подходит. Но много софта сразу.
Третье - сейчас на php 5.6 через 20 мин надо потестить проект на 5.2, а завтра хочу php7 потрогать.

Ну и подключать разные базы надо иногда...

В основном, сейчас проблема с тем, что когда, например фронтендеру проект даешь, приходиться самому на его компе запускать все это...

JhaoDa
@jhaoda
Nov 22 2015 21:23 UTC
Я щас скажу крамолу, наверное, но: как же мне повезло, что не приходится тестировать на всяком старье :)
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 21:23 UTC
@jhaoda @Furdarius а можно ссылку на инфу про выпиливание метода санитайза из реквестов? можно пулреквест или ссылку на ревизию до выпиливания
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:23 UTC
@jhaoda Да мне тоже... Я скорее об инвестиция в будущее)
JhaoDa
@jhaoda
Nov 22 2015 21:24 UTC
@Ellrion ты предлагаешь мне это поискать в полпятого утра?:)
Bezditnyi Taras
@vertexod
Nov 22 2015 21:24 UTC
А тебе надо такое будущее с php5.2? ))
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 21:24 UTC
@jhaoda ну у тябя часовой пояс рядом с ником не написан знаешь ли)
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:25 UTC
@vertexod Будущее это php7
Вы про докер вообще не в курсах что ль?
JhaoDa
@jhaoda
Nov 22 2015 21:27 UTC
@Furdarius я тока слышал
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:27 UTC
Это я ща не наезжаю... если что
Maksim (Ellrion) Platonov
@Ellrion
Nov 22 2015 21:28 UTC
слышал, читал, но в работе использовать пока не довелось
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:28 UTC
@jhaoda Понял, ладно я тогда буду сам копать. Потом может получиться написать повествование о том что накопал и почему мне стало лучше. Но или хуже)
JhaoDa
@jhaoda
Nov 22 2015 21:28 UTC
@Furdarius а ещё есть Otto
Bezditnyi Taras
@vertexod
Nov 22 2015 21:28 UTC
homestead уже все? )
JhaoDa
@jhaoda
Nov 22 2015 21:29 UTC
@vertexod хоумстид это вагрант
Bezditnyi Taras
@vertexod
Nov 22 2015 21:29 UTC
окей, а чем он не подошел? в чем с ним проблема?
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:30 UTC
@vertexod У меня он не заводиться гладко
С ошибкой timeout
Роман Сохарев
@greabock
Nov 22 2015 21:30 UTC
карма
KarmaBot
@KarmaBot
Nov 22 2015 21:30 UTC
@greabock, Ваша карма +273. Вы благодарили 41 раз.
- Достижения: "Находчивый", "Любитель сладкого", "Благодетель", "Благодарный"
- Профиль greabock на laravel.su
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:30 UTC
Говорят что это из за того что там x64 убунта.. Но я не верю)
Bezditnyi Taras
@vertexod
Nov 22 2015 21:30 UTC
100% карма... )
потому как вообще без проблем на бубунте и на os x завелась
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:32 UTC
Везучие)
Убунта какая была?
@vertexod ?
Bezditnyi Taras
@vertexod
Nov 22 2015 21:33 UTC
Но опять же, неудобное... хоть и на SSD но тормознутое это все...
а хз, какая версия была последняя на ~ 26-28 марта этого года? :)
64-битка это точно
пробовали на ней просто в примерно этих числах проект стартовать, плюнули, digitalocean + git, фронтендеру отдельный digocean... гитом он умеет пользоваться
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:36 UTC
Вот кстати неплохая статья почему докер лучше: http://www.newmediacampaigns.com/blog/docker-for-php-developers
Bezditnyi Taras
@vertexod
Nov 22 2015 21:36 UTC
Проект зарабатывает деньги уже и сейчас на девопса? Нет? Значит не заморачиваться на далеком будущем... имхо
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:38 UTC
@vertexod Я просто к этому отношусь как в вещам с которыми хочу уметь работать.
Bezditnyi Taras
@vertexod
Nov 22 2015 21:39 UTC
Тебе решать. Я предпочитаю определенные части делегировать.
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:39 UTC
@vertexod Пока некому)
Сам еще маленький
@vertexod А про Вагрант... Лагали sync folders?
@vertexod На ntfs перешел надеюсь?
А то встроенные в virtualbox не рабочие
Bezditnyi Taras
@vertexod
Nov 22 2015 21:41 UTC
на ntfs перешел?.. упаси господи... чтобы я со своего macosx extended на ntfs перешел... чур-меня
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:41 UTC
Просто я на винде запускал Homestead. Единственная проблема у меня была с синхронизацией папок. Я не хотел по удаленнке в IDE коннектиться.
Bezditnyi Taras
@vertexod
Nov 22 2015 21:42 UTC
синки особо не лагали, но всеравно чувствовались задержки... и они реально раздражают
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:42 UTC
@vertexod Говорят если под vmware пускать такого нет.
Но на vmware и денег нет
Bezditnyi Taras
@vertexod
Nov 22 2015 21:43 UTC
за это еще и платить? )
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:43 UTC
Я Rsync ставил. Задержек не было вообще)
Но и автосинхронизации не было... И она не настраивалась...
@vertexod Ну есть Virtualbox бесплатный
Есть его аналог, но платный
Bezditnyi Taras
@vertexod
Nov 22 2015 21:43 UTC
во у человека времени свободного)) дай чуть :)
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:43 UTC
От vmware вроде
@vertexod Дак вот мало совсем его)
Всякую фигню тестирую)
Не остается
Bezditnyi Taras
@vertexod
Nov 22 2015 21:44 UTC
тогда ставь локально! И не трать время на фигню )
фронтендер жрать захочет - сам настроит )
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 21:45 UTC
@vertexod Да просто вокруг столько разговоров про микросервисы, CI, еще что-то...
Ну и надо как-то шарить чтоль

@vertexod а ты же сказал что на убунте пускал... Почему тогда macosx extended

потому как вообще без проблем на бубунте и на os x завелась

Bezditnyi Taras
@vertexod
Nov 22 2015 21:59 UTC
@Furdarius Лично мое мнение, тебе за CI и прочее платят? На сколько оно на скорость влияет разработки?
@Furdarius На убунте пускали вначале, у ребят, хотелось тоже сначала чего-то такого эдакого... и на маке у себя пускал, но... эксперимент оказался провальным... сильно много времени уходит, а раздражение от задержек это добило.
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 22:02 UTC
@vertexod Нет, о таких вещах кроме меня никто не думает.
Я думаю, что в каждом проекте по разному. Я не использую CI, потому что пока тоже не добрался. Но преимущества вижу, опять же, при выкатке на боевой сервер.
Ведь как по идее надо? Надо что бы разработчик написал код, запушил и все. Тесты автоматически прогнались, все что надо автоматически сжалось, добавилось, удалилось и изменилось. После ревью еще кем-то залилось на stage/prod
Я это так представляю
Мне не приходилось еще работать с таким, но пытаюсь дойти до этого сам
Bezditnyi Taras
@vertexod
Nov 22 2015 22:06 UTC
Лучше найди контору с полным циклом и устройся туда... там и будет code review, qa, и т.п.
и поверь, меньше всего там тебя будет заботить как поднять jenkins и прочую лабуду
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 22:06 UTC
@vertexod Ладно, по поводу Вагранта понял. Вообщем-то ожидаемо. Спасибо что поделился.
Bezditnyi Taras
@vertexod
Nov 22 2015 22:07 UTC
та нема за шо... не трать время зря, оно дорого стоит )
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 22:07 UTC
@vertexod А вот контор то таких и нету)
Хотя, скорее всего, их много, но не доводилось мне попасть в такую.
Ладно, я пошел по поводу докера копать)
Bezditnyi Taras
@vertexod
Nov 22 2015 22:17 UTC
PS: кстати, собственно, зачем мне понадобилось такое решение по архитектуре request... есть такая фигня DataTables, очень удобная штуковина, но вот отправляет данные она в своем хитрож*пом формате. Эта штука у меня временная, до тех пор пока на проект не возьму фронтендера, поэтому мне проще сейчас для нее реализовать адаптер, чем потом из-за нее менять полсистемы... )
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 22:18 UTC
@vertexod Ну вот кстати и удобно сделать под нее отдельный сервис. А потом его 3 кликами выкинуть.
Bezditnyi Taras
@vertexod
Nov 22 2015 22:19 UTC

а так все чистенько, перестанет быть нужной, то просто заменить вместо DataTableRequest поменять на простой Request и все, профит.

Кстати, FormRequest тоже по дефолту не везде используется в ларавеле, так что валидация не всегда там нужна... насколько я помню, к примеру, зачем нужна валидация формы на index(Request $request)?

Artemiy Ryabinkov
@Furdarius
Nov 22 2015 22:21 UTC
По дефолту и не валидирует ничего
@vertexod Ну да, если временно, то спорить нет смысла. Хотя, нет ничего более постоянного, чем временное)
Bezditnyi Taras
@vertexod
Nov 22 2015 22:24 UTC
именно, поэтому и надо сделать хотя бы временный проект, чтобы проверить бизнес модель, будет работать или нет, а потом по запчастям переписать на java )
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 22:25 UTC
@vertexod Хо-хо) Вот оказывает как) На Java
Bezditnyi Taras
@vertexod
Nov 22 2015 22:25 UTC
why not?
Bezditnyi Taras
@vertexod
Nov 22 2015 22:42 UTC
А никто не сталкивался с best practice: search/paging/sort или может стандартизации какой-то?
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 22:45 UTC
@vertexod Все из коробки есть в Ларе
@vertexod Ну в том или ином виде)
Пагинация полностью есть. Правда для postgre ее не стоит использовать, потому что неэфективно использует индексацию. Запросы с пагинацией будут в 100 раз медленне ходить.
Bezditnyi Taras
@vertexod
Nov 22 2015 22:47 UTC
эммм... в ларе есть только в одном виде... с пагинацией... :)
Bezditnyi Taras
@vertexod
Nov 22 2015 22:47 UTC
ну, можно и elasticsearch прикрутить для запросов :)
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 22:48 UTC
@vertexod Из коробки вроде нету его)
Bezditnyi Taras
@vertexod
Nov 22 2015 22:48 UTC
@Furdarius спасибо, но не совсем-то что я хотел бы узнать. Меня больше интересует архитектура... но судя по всему, здесь для каждого проекта она будет по своему выглядеть все равно.
KarmaBot
@KarmaBot
Nov 22 2015 22:48 UTC
Спасибо (+1) для @Furdarius принято! Текущая карма +5.
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 22:49 UTC
@vertexod Ты же Eloquent юзаешь что б модели получать из базы?
Bezditnyi Taras
@vertexod
Nov 22 2015 22:50 UTC
Почему? )
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 22:50 UTC
@vertexod Всмысле, ты юзаешь его или нет?
Bezditnyi Taras
@vertexod
Nov 22 2015 22:51 UTC
юзаю, для хранения, для выборок - ES )
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 22:51 UTC
ES?
Bezditnyi Taras
@vertexod
Nov 22 2015 22:51 UTC
ElasticSearch
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 22:51 UTC
Да я не про базу
Это ORM
Аа
Все понял тебя
Bezditnyi Taras
@vertexod
Nov 22 2015 22:52 UTC
))
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 22:52 UTC
Тогда, наверное, для эластика ничего нету из коробки
И в плане архитектуры самому думать.
Хотя, не знаю. Я с эластиком не знаком. Не могу ничего посоветовать.
Так что, пусть старшие товарищи ответят)
Bezditnyi Taras
@vertexod
Nov 22 2015 22:54 UTC
а мне не надо из коробки что-то, я спрашиваю про бестпрактику архитектуры, причем это больше архитектура запросов/ответов, формирования оных, в каком виде более удобно, более стандартизированно и т.п. Вот это и пытаюсь искать )
Да эластик или не эластик тут не важно )
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 22:54 UTC
Ну для моделей обычно делаются scope что бы селекты строить
Bezditnyi Taras
@vertexod
Nov 22 2015 22:56 UTC
вот например издевательство от дт - https://datatables.net/manual/server-side их передача запроса... они вот так апи представляют, мне это надо конвертнуть в чтото более удобоваримое и стандартизированное... вот и думаю а есть ли стандарт? :)
В этом плане, наверное, нет...
Если кто-то не спит, пусть поправит. не уверен
Bezditnyi Taras
@vertexod
Nov 22 2015 22:59 UTC
не - это вообще к laravel не имеет отношения )
это больше структура данных
а система у меня извращенная немного... кеш - редис, для кросспоиска - эластик, для рапортов - mysql
@Furdarius я докер юзаю. правда для особых проектов - но бывает.
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 23:02 UTC
@aios Ураа!
@aios Сразу несколько вопросов щас
@aios
Ты используешь Docker Compose?
yes sir
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 23:05 UTC
А docker-compose.yml сам собрал?
@Furdarius кусками.. там в репо чет увидел - там в инете чет валялось, митап посетил там - тоже интересное. Видео могу дать - альфабанковского девопса - он там все популярно объясняет.
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 23:06 UTC
Один сервис - один контейнер? Или все в одном image?
@aios Буду благодарен
@Furdarius сервисы только Listen - те которые слушают порт. Такие можно загнать в контейнер - слава богу я еще не научился коннектить сокеты в контейнерах.
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 23:08 UTC
@aios То-есть nginx и php-fpm вместе?
И база тоже
@Furdarius нет - база сидит на порту - ее отдельно - nginx можно с пхп fpm разделить но тогда я ссокета слезал - и мне это не нравилось. но на одном проекте оставил через tcp работать - вроде живет.
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 23:11 UTC

Просто коннектить вроде так:

# Где-то в docker-compose.yml 
  links:
    - php

А в конфиге nginx вот так:

fastcgi_pass php:9000;
а проброс портов с контейнера?
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 23:12 UTC
@aios Или тебе именно такие связи не нравились? Почему?
@Furdarius именно такие - ну я в этом плане люблю "Глубже" - unix://var/run/xxx.socket мне как то всегда надежностью веял.
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 23:13 UTC
@aios А оно из-за этого links: автоматом не пробросит все что надо?
@aios Просто получается если мы все в 1 image пихнем, то пропадает независимость. При обновлении php весь image придется обновлять?
@Furdarius ни в коем.
обновление пыхи происходит внутри контейнера.
ну то есть внутри имейджа
если все пихать в 1 имейдж то и смысла в докере нету. Он вообще создан для разделения и изоляции сервисов.
@Furdarius https://www.youtube.com/watch?v=-67yNnx4bck
KarmaBot
@KarmaBot
Nov 22 2015 23:17 UTC
@aios, просьба оборачивать в кавычки ссылки на видео и изображения.
@Furdarius Это не тот
@Furdarius УРА! Нашел.
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 23:19 UTC
@aios Вот да, пихать в 1 image смысла нет. Просто не знаю как организовать лучше.
Покажешь свой самый ходовой конфиг?
KarmaBot
@KarmaBot
Nov 22 2015 23:19 UTC
@aios, просьба оборачивать в кавычки ссылки на видео и изображения.
@Furdarius не покажу. с телефона сижу уже.. лень ноут включать.
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 23:21 UTC
@aios Жаль... Завтра появишься?
@Furdarius угу
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 23:22 UTC
@aios Завтра тогда если получиться?
@Furdarius окей.. тебе какой продакшн? или стеш?
@Furdarius видос посмотри от coderfreeze - Тебе должен понравиться.
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 23:24 UTC
@aios А сам девеломпент ведешь без докера?
@aios Уже смотрю) Спасибо)
@Furdarius я же сказал - на особых проектах.
@Furdarius докер на винде не пошел - потому приходиться изь.......ваться и запускать виртуалку, а в ней докер.
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 23:26 UTC
@aios Ну имею ввиду не для выкатки на прод. А на своем локальном компе для локального запуска проекта в таком-же окружении и т.д. используешь? Если да то вот конфиг с локального желательно.
@Furdarius лан нарою скину
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 23:29 UTC
Я вообще правильно понимаю, что в итоге все выглядит так:
Заходишь в папку проекта
Делаешь docker-compose up
И app готова к просмотру в браузере например.
Если нужно gulp watch, то по ssh коннектишься?
@aios Спасибо)
KarmaBot
@KarmaBot
Nov 22 2015 23:29 UTC
Спасибо (+1) для @aios принято! Текущая карма +11.
@Furdarius зачем так грубо?
по ssh
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 23:31 UTC
@aios А как?
sudo docker attach какойто_контейнер
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 23:31 UTC
Аа
И этой командой выполняется вход в терминал конкретного контейнера?
@Furdarius ага.
Artemiy Ryabinkov
@Furdarius
Nov 22 2015 23:33 UTC
@aios Неплохо
Ладно, я пойду спать)
Спасибо за советы)
KarmaBot
@KarmaBot
Nov 22 2015 23:34 UTC
@Furdarius, в этом чате принято добавлять имя пользователя, что бы его поблагодарить.
@Furdarius та я тоже... было бы за что.