#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 это правильно. но не заполняйте свое приложение помощниками, которыми вы пользуетесь один раз. также не тратьте много времени на оптимизацию своего приложения. создайте его в контроллере, а затем, если он вам понадобится, переместите его куда-нибудь еще.