Помощники Laravel 8 по сравнению с производительностью контроллеров

#laravel #laravel-8

#ларавель #ларавель-8

Вопрос:

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

 function countData($status = 'active') {  $data = Models::where('status', 'like', $status)-gt;count();  return $data; }  

А в контроллерах код выглядит так:

 $status = 'active'; $countData = Models::where('status', 'like', $status)-gt;count(); return view('some.view', compact('countData');  

Какой из них лучше всего использовать с помощниками или контроллерами? Есть ли какой-нибудь способ проверить производительность между этими двумя? Спасибо.

Комментарии:

1. Вы можете поделиться примерами кода?

2. Я обновлю вопрос и включу код

3. Я обновил вопрос

4. Ладно, я понял.. Спасибо тебе за твой ответ, приятель. @nice_dev

5. Проверяю это сейчас, спасибо, приятель

Ответ №1:

Метод контроллера должен использоваться с HTTP-запросом. Помощник может быть использован в любом месте кода, так как вызывается та же начальная загрузка, если вы отвечаете на HTTP-запрос. Оба подхода одинаково медленны, так как вы запрашиваете базу данных. Это добавляет больше всего времени, поэтому возня с микрооптимизацией никуда вас не приведет, это пустая трата усилий.

Комментарии:

1. Ах, я понимаю, значит, помощника можно вызвать откуда угодно, например, из любого представления, верно?

2. @VTrace это правильно. но не заполняйте свое приложение помощниками, которыми вы пользуетесь один раз. также не тратьте много времени на оптимизацию своего приложения. создайте его в контроллере, а затем, если он вам понадобится, переместите его куда-нибудь еще.