@laravel_pro

Страница 1634 из 2014
Dmitriy
25.07.2018
09:08:54
https://github.com/alexeymezenin/laravel-best-practices/blob/master/russian.md#%D0%A2%D0%BE%D0%BD%D0%BA%D0%B8%D0%B5-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D1%8B-%D1%82%D0%BE%D0%BB%D1%81%D1%82%D1%8B%D0%B5-%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8

https://github.com/alexeymezenin/laravel-best-practices/blob/master/russian.md#Используйте-инструменты-и-практики-принятые-сообществом

https://github.com/alexeymezenin/laravel-best-practices/blob/master/russian.md#Короткий-и-читаемый-синтаксис-там-где-это-возможно

и т.д

Google
Dmitriy
25.07.2018
09:12:35
а тут что не так?
Тонкие контроллеры, толстые модели само название. незачем eloquent превращать свалку s

Иван
25.07.2018
09:15:22
Тонкие контроллеры, толстые модели само название. незачем eloquent превращать свалку s
а как же принцип Fat Stupid Ugly Controllers? и что тогда грузить кодом, модели или контроллеры?

Pavlo
25.07.2018
09:15:51
кроме моделей и контроллеров можно сделать ещё слои

Pavlo
25.07.2018
09:16:09
а вот ларавель как раз в доках и таких "хороших советах" толкает мол "выбирайте из двух зол"

Саша
25.07.2018
09:17:51
имхо ниче зазорного нет там где надо в контроллере сделать небольшой запрос лучше чем элокуент который сам по себе люто нарушает srp превращать в еще большую помойку из тысячи возможных юз кейсов

Subb98
25.07.2018
09:18:55
mysqli_query :)

Yury
25.07.2018
09:19:03
@ExileeD и как же ты превратишь eloquent в свалку где ты писать собрался, есть еще абстракции делать нужно с помощью их

Yury
25.07.2018
09:20:32
@Sfike запрос еще ладно , я говорю о том что свести к минимому if else в контроллере , бизнес логики там не должно быть

Саша
25.07.2018
09:22:12
@Sfike запрос еще ладно , я говорю о том что свести к минимому if else в контроллере , бизнес логики там не должно быть
обсуждаемый принцип топит за то чтобы все возможные варианты запросов пихать в модель, исходя из примера, про бизнес логику там не говорится ничего

Yury
25.07.2018
09:23:10
зачем пихать в модель , можно сделать репозиторий , в абстрактом описать унивирсальные методы и собирать builder

Google
Саша
25.07.2018
09:25:44
зачем пихать в модель , можно сделать репозиторий , в абстрактом описать унивирсальные методы и собирать builder
Опять же, там про это ни слова. Было бы сложнее приебаться если бы там было написано про то что можно замутить репозиторий, который к тому же завязан будет не только на элокуент но на любое хранилище данных имплементящее определенный интерфейс.

Я ж не говорю про то что нельзя сделать по другмоу

Я говорю про то что там хуево сформулирован принцип, даже если что то там где то подразумевалось чуваком который это писал. Новичок увидит "толстые модели" и будет все подряд в модели херачить

Yury
25.07.2018
09:27:37
ок) мысль понял , если так то да)

Subb98
25.07.2018
09:27:59
новичок увидит монолитный spa и сделает такую же модель. а потом спросит: посоны, зачем контроллер? :D

Yury
25.07.2018
09:28:15
:)

f4rt~
25.07.2018
09:30:42
в целом не все так плохо

такой лапшекод супер просто рефакторить, проблем никаких не вижу

Michael
25.07.2018
09:41:31
а как же принцип Fat Stupid Ugly Controllers? и что тогда грузить кодом, модели или контроллеры?
Классы. В php есть отличная вещь - классы. Всё можно писать там. Можно заводить много и называть понятно. И тестить удобно.

И переносить код с фреймворка на фреймворк опять же легче будет.

Roma
25.07.2018
09:43:28
И переносить код с фреймворка на фреймворк опять же легче будет.
Кто то реально переносит код с фреймворка на фреймворк? Сколько раз слышал но не разу не видел примера

Michael
25.07.2018
09:44:27
Я сейчас переношу один старинный проект с codeigniter на laravel

Michael
25.07.2018
09:46:14
Вообще, писать максимально фреймворк-агностик код - признак хорошего тона. Сейчас, правда, кроме laravel кандидатов и нет, но тем не менее. "Картошку любить следует хотя бы за то, что она ум в порядок приводит" (с) Чапаев

Michael
25.07.2018
09:48:56
С переносом всё не так ужасно. Смотришь, что наколбасено в контроллерах, выносишь всё в отдельные классы, пишешь репозитории для общения с БД (кстати, Eloquent с коллекциями можно завести где угодно, оказывается). Дальше останется скопировать папочку с классами в проект с laravel, и прописать роуты с контроллерами, где будет очень немного кода - просто вызовы больших кусков и компоновка данных во вьюхи. Ну и вьюхи подправить чуток под blade. И всё.

Это да, иногда такого не стоит делать, если пишешь небольшой бложик или другое круд-образное, абстракции повредят.

Если кто ещё ковыряет легаси-код с sql-запросами плейнтекстом, вот элоквент: https://github.com/illuminate/database вот коллекции: https://github.com/tightenco/collect . Выбираете версию под вашу версию php, подключаете композером, инициализируете где-нить в index.php и пользуетесь благами цивилизации.

Google
Саша
25.07.2018
09:55:19
Кто то реально переносит код с фреймворка на фреймворк? Сколько раз слышал но не разу не видел примера
Счас проект над которым мы работаем написан на yii1, кода очень много, перенесли на симфони через хуеву тучу адаптеров, под капот актив рекорда встроили доктрину, под капот иишной авторизации symfony security и т.д. Это можно считать переносом кода с фреймворк на фреймворк?

Michael
25.07.2018
09:55:38
Можно делать модельки, отношения, все будет приходить в коллекциях, в общем, практически половина ларавеля у вас в проекте оказывается

Roma
25.07.2018
10:00:56
Счас проект над которым мы работаем написан на yii1, кода очень много, перенесли на симфони через хуеву тучу адаптеров, под капот актив рекорда встроили доктрину, под капот иишной авторизации symfony security и т.д. Это можно считать переносом кода с фреймворк на фреймворк?
Ну конечно Просто в том то вопрос был Интересует еще другой вопрос, зачастую переносят плохо написанный код или легаси уже Если написанный более менее хорошо, насколько будет необходимость переноса? Сейчас вижу только случай если фреймворк перестанет поддерживается Тем более сейчас тенденции идут к унификации компонентов и единых стандартов для фреймворков

Olexandr
25.07.2018
10:18:32
Хей, всем привет чем можно распаковывать зип архив, но не сохраняя его как файл? я получаю по фтп кусок данных, что есть зип архивом, можно этот кусок сразу распаковать, не соханяя его как отдельный файл?

Edgar
25.07.2018
10:24:20
что значит не сохраняя? Не сохраняя именно на диск или распаковывая в процессе скачивания?)))

сохрани, распакуй, удали. Можешь просто если он небольшой сохранить его не на диск, а в памяти держать

Diamond
25.07.2018
10:41:13
привет, подскажите как можно вывести в blade шаблоне роут из ресурса? для пример если путь в роутах Route::get(la la la) c name = test, то выводим {{ route('test') }} а как быть с теми роутами которые в Route::resource

Diamond
25.07.2018
10:48:04
спасибо за ссылку, но там нет ответа на мой вопрос

или я не вижу

Diamond
25.07.2018
10:49:10
спасибо! теперь вижу)

Walter
25.07.2018
11:01:20
А еще лучше php artisan route:list, что бы не рыться в доках

Nik
25.07.2018
11:22:00
спасибо! теперь вижу)
а если ты еще раз уронишь прод, мы удалим тебе и второе иичко (с) шутка про глаза

господа, а ни у кого не глючил Cache::remember ?

Есть у меня кложурка, и что-то она периодически возвращает нифига, хотя колбек указан и по идее должны догружаться данные после инвалидации

запрос в кложурке тупейший, тобишь все должно быть вообще ок

Георгий
25.07.2018
12:37:49
Привет всем

Google
Георгий
25.07.2018
12:38:15
как updateorcreate задать where &

?

нужно обновить определенному юзеру, если нет то создать ему

Roman
25.07.2018
12:39:56
updateOrCreate([ 'user_id' => id ], [ 'user_id' => id, 'more_field' => more_data, 'etc' => 'etc' ]

Admin
ERROR: S client not available

Maksim (Ellrion)
25.07.2018
12:40:17
нужно обновить определенному юзеру, если нет то создать ему
там же два массива, первый из них для поиска

Георгий
25.07.2018
12:40:45
там же два массива, первый из них для поиска
оо, спс. А то я читаю не пойму зачем они )))

Maksim (Ellrion)
25.07.2018
12:41:24
Георгий
25.07.2018
12:42:52
```General error: 1364 Field 'account_id' doesn't have a default value (SQL: insert into coin_addresses (coin_address, updated_at, created_at) values (sdfgsdfgsdf, 2018-07-25 15:42:28, 2018-07-25 15:42:28))```

account_id для поиска юзера

это ошибка00

[Anonymous]
25.07.2018
12:43:41
это ошибка00
Да не, так и должно быть

Георгий
25.07.2018
12:43:57
[Anonymous]
25.07.2018
12:44:16
Когда ты не понимаешь что такое массивы и работаешь с фреймворком..

Георгий
25.07.2018
12:45:52
а все, Базу ебланы делали давно. Дефолтных значений нет.....

Владислав
25.07.2018
12:48:34
???

[Anonymous]
25.07.2018
12:49:55
фигня какая то, покажи сам код
Зачем тебе тут код все же ясно )

Google
Георгий
25.07.2018
12:50:31
он там и не нужен
там ругалось, что нет у поля дефолтного значения. Поставил в базе и записало сразу. Сенкт тебе)

[Anonymous]
25.07.2018
12:50:33
а все, Базу ебланы делали давно. Дефолтных значений нет.....
Бедные юзеры.. как им жить без аккаунтов

Maksim (Ellrion)
25.07.2018
12:50:35
Зачем тебе тут код все же ясно )
серьезно? а мне вот не ясно было. да и до сих пор не очень. разве что в филлабле дело

[Anonymous]
25.07.2018
12:51:09
серьезно? а мне вот не ясно было. да и до сих пор не очень. разве что в филлабле дело
Во первых он не указал account id а во вторых нельзя fk делать филлэбл

Maksim (Ellrion)
25.07.2018
12:51:16
там ругалось, что нет у поля дефолтного значения. Поставил в базе и записало сразу. Сенкт тебе)
так тебе надо что бы запись создалась не с дефолтным значением а с нужным же

Георгий
25.07.2018
12:51:21
серьезно? а мне вот не ясно было. да и до сих пор не очень. разве что в филлабле дело
у поля в БД не было указано дефолтное значение. инсерт не отрабатывал нормально

Maksim (Ellrion)
25.07.2018
12:51:47
Во первых он не указал account id а во вторых нельзя fk делать филлэбл
во первых по коду видно что указал, во вторых спорно

[Anonymous]
25.07.2018
12:51:56
у поля в БД не было указано дефолтное значение. инсерт не отрабатывал нормально
Как блять там может быть дефолтное значение это внешний ключ

во первых по коду видно что указал, во вторых спорно
А, ну да.. но не указывается он при создании для этого специальные методы есть

[Anonymous]
25.07.2018
12:53:28
Да и не может быть этого значения! Это тебе не текст, а fk. Чтобы было дефолтное значение должна существовать запись

Oleg
25.07.2018
12:53:34
Как в js проверить строку на количество символов?

Георгий
25.07.2018
12:53:37
а из ошибки, что выше скидывал, там дописал fillable account_id

после была ошибка General error: 1364 Field 'currency' doesn't have a default value (SQL: insert into `coin_addresses` (`account_id`, `coin_address`, `updated_at`, `created_at`) values (3, sdfgsdfgsdf, 2018-07-25 15:46:56, 2018-07-25 15:46:56))

[Anonymous]
25.07.2018
12:54:36
и аккаунт должен устанавливаться так $user->account()->associate($account)

Страница 1634 из 2014