Size: a a a

2020 March 15

AV

Alexander Voronov in Laravel Pro
Dima
Прошу помочь с оптимизацией.
Например, у меня есть контроллеры ProductsController и CategoryController

В обоих есть метод create
оба например делают:
$category = Category::create(['title' => $request->title);
return view('admin.categories.index', compact('categories');
и

$product = Product::create(['title' => $request->title);
return view('admin.products.index', compact('products');

Как можно оптимизировать подобно моделям через trait или тп?
Контроллер должен называться не ProductsController, а ProductController, в единственном числе.
За непосредство создание каких либо объектов должна стоять не create функция, а store.
create - это возврат формы создания объекта.
источник

D

Dima in Laravel Pro
Alexander Voronov
Контроллер должен называться не ProductsController, а ProductController, в единственном числе.
За непосредство создание каких либо объектов должна стоять не create функция, а store.
create - это возврат формы создания объекта.
Вы правы это store
create рендерит вьюху
источник

D

Dima in Laravel Pro
Alexander Voronov
Контроллер должен называться не ProductsController, а ProductController, в единственном числе.
За непосредство создание каких либо объектов должна стоять не create функция, а store.
create - это возврат формы создания объекта.
Название ProductController не верное будет.
Ибо тут и index и delete и edit
источник

AV

Alexander Voronov in Laravel Pro
Alexander Voronov
Таки по красоте если выносить какие-то действия контролера в абстракцию, то можно заодно обмазаться паттерном "шаблонный метод", чтобы допустить расширение
Пример:

Абстрактный контроллер
private Model $model;

public function before_store(...) {}
public function after_store(...) {}

public function store($data)
{
 $this->before_store(...);

 $model->create($data);

 $this->after_store(...);
}


Любой наследник может переопределить before/after_store функции и внести какой-то гибкости

Дочерний контроллер
pr
ivate Product $model = Product::class;

public function before_store(...)
{
// change data
}

public function after_store(...)
{
// other
}


Именно так построена админка CRUDBooster, там можете посмотреть этот прием подробнее.
источник

BL

Boris Lepikhin in Laravel Pro
Dima
Прошу помочь с оптимизацией.
Например, у меня есть контроллеры ProductsController и CategoryController

В обоих есть метод create
оба например делают:
$category = Category::create(['title' => $request->title);
return view('admin.categories.index', compact('categories');
и

$product = Product::create(['title' => $request->title);
return view('admin.products.index', compact('products');

Как можно оптимизировать подобно моделям через trait или тп?
Здесь нечего оптимизировать. В трейт ты это не вынесешь, максимум – превратишь 2 строки в одну, при этом передавая все те же параметры (название класса модели, параметры запроса, название вью).

1. ProductsController -> ProductController
2. ['title' => $request->title] -> FormRequest и $request->validated
3. Выкинуть компакт
источник

AV

Alexander Voronov in Laravel Pro
Dima
Название ProductController не верное будет.
Ибо тут и index и delete и edit
Единственное правильное название ProductController, все контроллеры должны быть в единственном числе
источник

AV

Alexander Voronov in Laravel Pro
Dima
Название ProductController не верное будет.
Ибо тут и index и delete и edit
источник

D

Dima in Laravel Pro
Спасибо за ЛикБез. Не знал.
источник

D

Dima in Laravel Pro
Boris Lepikhin
Здесь нечего оптимизировать. В трейт ты это не вынесешь, максимум – превратишь 2 строки в одну, при этом передавая все те же параметры (название класса модели, параметры запроса, название вью).

1. ProductsController -> ProductController
2. ['title' => $request->title] -> FormRequest и $request->validated
3. Выкинуть компакт
Чем компакт хуже ['products' => $products] ??
источник

BL

Boris Lepikhin in Laravel Pro
- Компакт – моветон, который пора задепрекейтить.
- Меньше контроля, нет подсветки.
- В простых случаях у тебя переменные в контроллере и блейд одинаковые, будут различия – придется оборачивать в массив, в разных местах вывод будет описан по-разному
- На будущее – избавление от временных бесполезных переменных (напр. фильтрация коллекции при формировании массива итд)
источник

IG

Ivan Gryzdik in Laravel Pro
👇Bcё пpocто, рeгистpируйся по ссылке и получай 20% скидку на комисcии 👇

https://www.binance.com/ru/register?ref=GHA1UMA6
источник

ДН

Давид Надеждин... in Laravel Pro
Ребят всем привет. У кого есть проблемы с  полем data от  уведомлений из баззы данных?
источник

ДН

Давид Надеждин... in Laravel Pro
источник

ДН

Давид Надеждин... in Laravel Pro
источник

ДН

Давид Надеждин... in Laravel Pro
в коллекции там почему-то не распарсеный json
источник

СФ

Серега Федоров... in Laravel Pro
Кто может лабу сделать небесплатно конечно по php?
источник

O

Ostap 🇺🇦 in Laravel Pro
Давид Надеждин
в коллекции там почему-то не распарсеный json
а в $notifications[1] точно что-то есть?
источник

ДН

Давид Надеждин... in Laravel Pro
Ostap 🇺🇦
а в $notifications[1] точно что-то есть?
ага. Так бы в error ушло
источник

O

Ostap 🇺🇦 in Laravel Pro
странно, может реально в базе пустое поле?
источник

ДН

Давид Надеждин... in Laravel Pro
Ostap 🇺🇦
странно, может реально в базе пустое поле?
если dd колекции делать то в data полях json лежит
источник