- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
// пример 1
a) $query = "SELECT id,text_name,textarea_desc,img_photo,date_reg FROM {$prefix2}_{$module} WHERE id='$id' AND check_active=1 ORDER BY $order LIMIT $limit";
или же
b) $query = "SELECT id,text_name,textarea_desc,img_photo,date_reg FROM ".$prefix2."_".$module." WHERE id='".$id."' AND check_active=1 ORDER BY ".$order." LIMIT ".$limit;
// пример 2
c) $query = "INSERT INTO {$prefix2}_{$module} SET text_name='$name',date_add=NOW(),text_fio='$fio' WHERE id='$id'";
или же
d) $query = "INSERT INTO ".$prefix2."_".$module." SET text_name='".$name."',date_add=NOW(),text_fio='".$fio."' WHERE id='".$id."'";
Как-то некий посетитель этого сайта назвал a и с -- говнокодом. Интересно узнать Ваше мнение по этому поводу.
Желательно услышать хоть какую-то аргументацию, вместо пресловутых трольских комментов ))
Все переменные перед использованием естественно приведены к безопастному виду.
Ни о каких инъекций речь просьба не поднимать...
Че ты гонишь, у тебя все запросы такие. Тут еще никто не забыл, как ты фейлил в том треде.
PS. Яхуею с отдельных личностей из аудитории говнокода, ты ни одного фреймворка не осилил?
Говно!!!
Это я так понимаю тег который заменяется {$prefics}? Почему что то тегами, а что то нет? Неудобно все это, но не смертельно конечно
Что то из переменных, а что то из тегов, ну тут вопрос удобства - я не знаю где эти теги могут быть зарыты.
А в том можно / нельзя / говнокод.
$prefix2 - это как-бы префикс с учётом языка
$module - имя текущего модуля.
а {} нужны из-за того, что-бы переменные считались разными, т.к.
$prefix2_$module -- не прокатывает ((
>> втором случае надо поменять кавычки все двойные на одинарные а одинарные на двойные.
Вот про это как-бы и вопрос был... ради чего это??? Типа для Выигрыша 1 миллиардной секунды???
Почему использование переменных в " является неприемлемым???
т.е. "... $name ..." недопустимо, а ' ... '.$name.' ...' - это уже признак хрошего тона...
Лично для меня первый вариант в 100 раз читабельнее, чем вариант к разорванными кавычками и конкатенацией
В Drupale вообще используются замены консткукций на переменные...
И вообще даже не чистый SQL, а надстройка над ним (для универсальности)...
Так что теперь считать что Drupal говнокод, т.к. можно быстрее это сделать???
Пишите как хотите, на самом деле, я пользуюсь одинарными кавычками за исключением тех случаев когда правлю чужой код или пишу для CMS. Если чужой код или CMS я пишу так как там уже написано чтобы не выбивалось из общего стиля.
Лично мне удобно использовать варианты a/c
Так что говно здеть пока только ТЫ.
Все технические переменные проверяются и в них всегда попадает только корректная информация.
И где ты тут видишь просьбы о "сжалится и напишет ему решение его же задачи за которую он бабло получает"...
Короче потеряйся...
Когда пользователь не может его читать, часто такой код называет говном.
Принципиальной разницы в запросах никакой!
Рассусоливать вопрос скорости обработки интерпретатора смысла нет, ибо наносекунды в разнице обработки - это уже чистой воды аутизм.
Из моего опыта: очень редко, кто пишет в стиле a) и c), и часто в b) и d).
Связано это с суровостью кодеров, которые пользуются простыми редактарами или вовсе текстовыми редакторами, которые переменные a) и c) не подсвечивают. Заставить использовать современные средства разработки таких товарищей невозможно. Вот они и негодуют, что им ничего не понятно.
Заключение: это не говнокод!
PS: подсветка кода в данном случае (ваш пример) не выполнена для переменных типа {$prefix} ...
Notepad++ вроде подсвечивает у меня все переменные и в {} тоже.
т.к. других причин у людей нету. им так сказали и поэтому всё остальное для них - говнокод.
А если в проекте на производительность начинает критически влиять использование одинарных или двойных кавычек, значит, что с проектом уже давно что-то не то.
— А, вот эти двое.
— Не-не-не-не-не, в рот мне ноги.
— Вопрос только про синтаксис.
— ГОВНО!!!111
В итоге оказалось, что одинарные кавычки на самом-то деле более тормознутее ))
Вариант с одинарными: 0.0143549442291 сек
Вариант с двойными: 0.0130221843719 сек
Но в данный момент пишу в основном сайты на PHP
Ты никто и звать тебя никак.
Исчезни, недоносок.
А вообще это нанотехнологии.
В обоих случаях написал двойные кавычки:
"SELECT id,text_name FROM ".$prefix2."_".$module." WHERE id='".$id."' ORDER BY ".$order." LIMIT ".$limit;
$query = 'SELECT id,text_name FROM '.$prefix2.'_'.$module.' WHERE id='.$id.' ORDER BY '.$order.' LIMIT '.$limit;
Вариант с одинарными: 0.0105130672455 сек
Вариант с двойными: 0.0089418888092 сек
делай замеры чтобы шли хотя бы минуту,и тестируй с разными длинами строк
Каким образом выводить строку - не важно.