
Wolf
24.01.2017
10:56:01
завтра официальный релиз
в твитере писал

Алексей
24.01.2017
11:12:03

Quiss
24.01.2017
11:51:36

Google

Quiss
24.01.2017
11:51:38
по 5.4
https://laravel.com/docs/5.4/releases

Юрий
24.01.2017
12:15:20
и на сайте 5.3 на главной и документация по 5.3 как основная

D'
24.01.2017
12:16:04
Object Based Eloquent Events
Супер
Я заебался искать где я события забиндил ?

Юрий
24.01.2017
12:20:37
https://github.com/laravel/framework/blob/5.4/CHANGELOG-5.4.md
так лучше

Quiss
24.01.2017
12:24:51

marabu
24.01.2017
12:27:00
function retry($times, callable $callback)
{
$times--;
beginning:
try {
return $callback();
} catch (Exception $e) {
if (! $times) {
throw $e;
}
$times--;
goto beginning;
}
}
зачем?

Quiss
24.01.2017
12:27:36
повторять N раз
вдруг чота получится

Google

(;¬_¬)
24.01.2017
12:32:47
можно же было while сделать
О_о

Sergey
24.01.2017
12:33:28

i
24.01.2017
12:35:26
Я такое с while делал, первая версия тоже с goto была

Sergey
24.01.2017
12:38:42
ну так любой goto в осмысленном коде можно поменять на конструкции while, for, if... Времена ассемблера прошли

(;¬_¬)
24.01.2017
12:39:37

Sergey
24.01.2017
12:40:45
Ну это в минус автору кода, кем бы он не был
Я, реально, в своей жизни goto использовал только в конце 90хх начале 00хх последний раз, не считая ассемблера и то там не goto :)
а jmp XD ну в tasm

Юрий
24.01.2017
12:44:54
видимо они на страницу goto не заходили в документации
единственная страница документации так оформленная
http://php.net/manual/ru/control-structures.goto.php

Sergey
24.01.2017
12:50:42
так оно еще и новомодное, только с 5.3 появилось
Вот, наверно, почему. :)

Sergey
24.01.2017
13:50:22
Всем гуру лары привет
Есть такой вопрос, по стандартному create/update
наприме это сейчас в контроллере и выглядит примерно так
$app = Application::find($request->id);
$app->platform_id = $request->app['platform_id'];
$app->name = $request->app['name'];
$app->bundle_id = $request->app['bundle_id'];
$app->type_id = $request->app['type_id'];
$app->localization_id = $request->app['localization_id'];
$app->orientation_id = $request->app['orientation_id'];
$app->save();
и тоже самое с create только new App....
как лучше данные операции в одну функцию вынести?

Google

Sergey
24.01.2017
13:51:48
$app->platform_id = $request->app['platform_id'];
$app->name = $request->app['name'];
$app->bundle_id = $request->app['bundle_id'];
$app->type_id = $request->app['type_id'];
$app->localization_id = $request->app['localization_id'];
$app->orientation_id = $request->app['orientation_id'];
в модельку в какой-нибудь setData?

DDiimmkkaass
24.01.2017
14:00:24
заполни fillable масив в модельке и $app->fill($request->all())
$app->save();

Dmitrii
24.01.2017
14:01:29
firstOrNew() и fill() методы здорово разгребут эти строки кода.
$app = Application::findOrNew($id)->fill($request->app);
Затем save

Sergey
24.01.2017
14:03:46
а если например в #requeest->app у меня содержится 10 полей, а мне нужно заполнить 15, и другие 5 я подбираю в коде, это нормально если я их в $request->new_field добавлю?

DDiimmkkaass
24.01.2017
14:06:38
$request->new_field - как на меня, не очень, все-таки это не запрос
можно винести в сервис в отдельную функцию ,что-то типа prepareData и там докидивать

Sergey
24.01.2017
14:06:59
спасибо

DDiimmkkaass
24.01.2017
14:07:01
или в мидлваре каком (но тогда уже будет в реквесте), но если в мидлвате, то норм

Dmitrii
24.01.2017
14:07:16
Смотря откуда ты берешь данные для вычисления оставшихся 5 полей. Если это от каких-либо постоянных или сторонних значений, то сделай для них мутаторы. Если значения этих полей вычисляются в зависимости от уже имеющихся 10, то лучше в метод.

Dmitrii
24.01.2017
14:10:03
Но доп методы стоит использовать лишь для повторного использоваия. Тупо ради красивого кода - это нецелесообразно. Безбашенное кол-во строк выглядит не лучше безбашенного кол-ва методов. Просто если используешь возможности фреймворка, то проблемы так или иначе избежишь.

Myroslav
24.01.2017
14:13:41
не ожидал такой логики

Юрий
24.01.2017
14:17:04
про возможности фреймворка гоготнул. при учете того что зачастую логика работы компонентов фрейворка закрыта пока не залезешь в исходники, да еще и поменяться может

Dmitrii
24.01.2017
14:20:29
О_о, а вы не лазаете в исходники?

Юрий
24.01.2017
14:25:27
к вопросу про goto
https://github.com/laravel/framework/pull/15973#issuecomment-254443079
что за малолетка которая тащит странные архитектурные решения?
GrahamCampbell некий

Google

i
24.01.2017
14:43:30
В чём проблема goto

Wild
24.01.2017
14:44:29
Тут у кого то в чатике была либа php для работы с api vk
Нужна очень сейчас
Линканете?

i
24.01.2017
14:45:13
это curl

Wild
24.01.2017
14:46:11
Не, оч удобная либа была

Admin
ERROR: S client not available

Quiss
24.01.2017
14:47:54
тока вот, доступ до прода из дома(
В чём проблема goto
https://github.com/laravel/framework/pull/15973#issuecomment-254534454 (последний коммент)

i
24.01.2017
14:50:08

Quiss
24.01.2017
14:50:30

Vladimir
24.01.2017
14:50:32
Этот чат странный) только что в нем красиво обсуждали бест практис структурированного кода, и следом же идиотское обсуждение "в чем проблема goto")))

i
24.01.2017
14:56:10

(;¬_¬)
24.01.2017
14:56:34

Vladimir
24.01.2017
14:56:50
Ладно)

Wild
24.01.2017
14:57:49
https://github.com/atehnix/vk-client
А вот эта либа из рая)

Sergey
24.01.2017
16:53:26
От чего зависит наличие связи в "realtions" http://skrinshoter.ru/s/240117/WOxAWbvV ? У меня 5 связей у модели, но тут только 4, хотя из кода я могу получить все 5
class Task extends Model
{
// Images validation rules
protected $rules = array('file' => 'image');
public function application()
{
return $this->belongsTo('App\Models\Application');
}
public function images()
{
return $this->hasMany('App\Models\TaskImage');
}
public function blocked_links()
{
return $this->hasMany('App\Models\BlockedLink');
}
public function blocked_buttons()
{
return $this->hasMany('App\Models\BlockedButton');
}
public function reg_exps()
{
return $this->hasMany('App\Models\RegExp');
} }

Google

DDiimmkkaass
24.01.2017
17:12:42
эти четыри, это https://laravel.com/docs/5.3/eloquent-relationships#eager-loading
они уже подгружены в модель,
ну или ты уже делал к ним обращение и они загружены
но любую связь ты можеш вызвать в любой момент (потому доступуна и пятая)
просто если данные уже загружены, то не будет нового запроса в базу (если работать как с коллекцией)

Евгений
24.01.2017
17:19:42
посоны
вопрос
были на сайте страницы (так будет проще для понимания, на самом деле не страницы)
это модель. и было всё одно. /page/{slug}

Quiss
24.01.2017
17:20:28

Евгений
24.01.2017
17:20:56
теперь надо сделать тип страницы page|post грубо говоря и чтобы в урле было /{type}/{slug}
как сделать чтобы в данном случае роут срабатывал только если type = page или post? а то такой роут может перебить кучу всего на сайте

Quiss
24.01.2017
17:21:32

Евгений
24.01.2017
17:21:57
во, спасибо
щас попробую

Quiss
24.01.2017
17:22:08
ток я не помню, но вроде так
но в общем вот)

Евгений
24.01.2017
17:22:19
ага, щас затестирую)

Quiss
24.01.2017
17:22:35
ну или запятые там, проверь
@perin
->where('replay_type', '(positive|negative|)')
сорян)