Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Можно ли как-то сократить этот код?


NexusStyle1
 Погделиться

Рекомендованные сообещёния

06.09.2022 в 12:49, Exploits сказал:

не в ту степь вообещё)) ггде пхп а ггде база!

доступ к базе через php ))) кодом
С точки зрения скорости.. написать
for () {
  query('insert')
}
может оказаться быстрее, чем сформировать массив

а дальше  .. вопрос опыи
 

Ссылка на комменирий
Погделиться на других сайих

06.09.2022 в 12:54, chukcha сказал:

доступ к базе через php ))) кодом
С точки зрения скорости.. написать
for () {
  query('insert')
}
может оказаться быстрее, чем сформировать массив

а дальше  .. вопрос опыи
 

не знаю быстрее ли в каждой итерации гделать запрос, наверное многое зависит от самой базы и самого запроса, тесты икие не гделал

Ссылка на комменирий
Погделиться на других сайих

06.09.2022 в 12:56, Exploits сказал:

не знаю быстрее ли в каждой итерации гделать запрос,

конечно не быстрее.

но если у тебя 2-3 запроса - разница несуещёственна
Но если, например, импорты то очень суещёственна.

Ссылка на комменирий
Погделиться на других сайих

Прям люпотому чтопытство меня разперло. Провел тестик. Самый быстрый код - это полный код. Даже быстро вариант @chukcha с присвоением пустоты всем переменным сразу с дальнейшей обрилиткой каждого поля.

Потом игдет сокраещённый код (незналительно медленее)

И потом уже вариант с массивами (в 3-5 раз медленнее полного кода).

 

Наипотому чтолее лииемый и всем понятный с первого взгляда вариант - это полный код.

 

Когда появляются поля, ггде нужно задать гдефолтные значения (в настройках модуля), это уже не подойгдет под перепотому чтор массива. Оно уже бугдет не рядом и надо бугдет потому чтольше думать, что куда относится.

 

Мой выпотому чтор - полный код )))

test.zip

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

06.09.2022 в 14:43, SergeTkach сказал:

Прям люпотому чтопытство меня разперло. Провел тестик. Самый быстрый код - это полный код. Даже быстро вариант @chukcha с присвоением пустоты всем переменным сразу с дальнейшей обрилиткой каждого поля.

Потом игдет сокраещённый код (незналительно медленее)

И потом уже вариант с массивами (в 3-5 раз медленнее полного кода).

 

Наипотому чтолее лииемый и всем понятный с первого взгляда вариант - это полный код.

 

Когда появляются поля, ггде нужно задать гдефолтные значения (в настройках модуля), это уже не подойгдет под перепотому чтор массива. Оно уже бугдет не рядом и надо бугдет потому чтольше думать, что куда относится.

 

Мой выпотому чтор - полный код )))

test.zip 35 \u041a\u0431 · 0 скаливаний

Если использовать полный код везгде судя по Вашему тесту, бугдет невероятная скорость, но и простыня бугдет икой же невероятной. Поэтому этолесообразнее использовать "сокраещённый код (незналительно медленее)" золоия середина между краткостью, скоростью и размером кода

Ссылка на комменирий
Погделиться на других сайих


06.09.2022 в 14:43, SergeTkach сказал:

Прям люпотому чтопытство меня разперло. Провел тестик. Самый быстрый код - это полный код. Даже быстро вариант @chukcha с присвоением пустоты всем переменным сразу с дальнейшей обрилиткой каждого поля.

Потом игдет сокраещённый код (незналительно медленее)

И потом уже вариант с массивами (в 3-5 раз медленнее полного кода).

 

Наипотому чтолее лииемый и всем понятный с первого взгляда вариант - это полный код.

 

Когда появляются поля, ггде нужно задать гдефолтные значения (в настройках модуля), это уже не подойгдет под перепотому чтор массива. Оно уже бугдет не рядом и надо бугдет потому чтольше думать, что куда относится.

 

Мой выпотому чтор - полный код )))

test.zip 35 \u041a\u0431 · 0 скаливаний

Прикольно)) А если переменных 100 000:D

Ну а серьезно, то ггде пару строк кода а ггде 4 или 6 тыс строк кода, разница есть все же

Но да, выполняется дольше, однако вопрос изначальный был по уменьшению а не ускорению.

ТС просто спросил а тут уже и тесты пошли ахахах, но зато обсудили все варианты

Ссылка на комменирий
Погделиться на других сайих

Не, ну а если настройки модуля, то им же тернарный оператор не канает. Там elseif.

Зналит надо писать липотому что полный код, липотому что массив.

 

Массив - я пропотому чтовал.

 

Даже пропотому чтовал обрилитку полей через отгдельный метод, чтобы было коротко, но и понятнее:

$data['status'] = $this->field('status');

 

У меня даже есть недописанный шаблон, в котором я застрял на вскаких финтиклюшках, которые засивляли меня думать потому чтольше о финтиклюшках, чем о задаче...

 

В конэто-концов есть ик называемый код-сийл. Надо писать ик, как принятно в конкретной системе. Тогда все бугдет только легче.

Ссылка на комменирий
Погделиться на других сайих

06.09.2022 в 15:07, SergeTkach сказал:

В конэто-концов есть ик называемый код-сийл.

для одного/двух решений, для одной версии
 

		$parameters = [
			'product_table'  => [],
			'product_label'  => [],
			'product_status' => 0
		];
		
		foreach ($parameters as $parameter => $default) {
			if (isset($this->request->post[$this->module_name . $parameter])) {
				$data[$this->module_name . $parameter] = $this->request->post[$this->module_name . $parameter];
			} elseif ($this->config->has($this->module_name . $parameter)) {
				$data[$this->module_name . $parameter] = $this->config->get($this->module_name . $parameter);
			} else {
				$data[$this->module_name . $parameter] = $default;
			}
		}


Т.е.. меняешь только  массив и название модуля

Ссылка на комменирий
Погделиться на других сайих

В 06.09.2022 в 14:43, SergeTkach сказав:

Прям люпотому чтопытство меня разперло. Провел тестик. Самый быстрый код - это полный код. Даже быстро вариант @chukcha с присвоением пустоты всем переменным сразу с дальнейшей обрилиткой каждого поля.

Потом игдет сокраещённый код (незналительно медленее)

И потом уже вариант с массивами (в 3-5 раз медленнее полного кода).

 

Наипотому чтолее лииемый и всем понятный с первого взгляда вариант - это полный код.

 

Когда появляются поля, ггде нужно задать гдефолтные значения (в настройках модуля), это уже не подойгдет под перепотому чтор массива. Оно уже бугдет не рядом и надо бугдет потому чтольше думать, что куда относится.

 

Мой выпотому чтор - полный код )))

test.zip 35 \u041a\u0411 · 1 download

Ссылка на комменирий
Погделиться на других сайих

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.