21.12.2012, 01:47
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Сообщение от Tim
|
Представь что в зависимости от некоторых условий нужно слегка изменить запрос. Например добавить сортировку или WHERE. Как поступишь со своим лесом из точек и кавычек?
|
Ответ содержится в вопросе. Добавлю сортировку или where. При чем тут лес из кавычек? SQL синтаксис родной для SQL.
Да, да, в идеале переносимость на всё и вся. Всё и вся всеядность. В итоге тормоза и завышенные требования к хостингу. Это работает медленно. И медленно из-за этого всё и вся.
А вся эта переносимость от неправильной постановки задачи и методов её решения.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
21.12.2012, 10:19
|
|
Профессор
|
|
Регистрация: 05.06.2009
Сообщений: 1,703
|
|
Тогда всё можно на асме писать вообще.
Суть в более высоком уровне абстракции, не только в переносимости.
Цитата:
|
Добавлю сортировку или where. При чем тут лес из кавычек?
|
Да, в простом случае всё просто. По мере добавления всяких условий и тп мы получим именно лес из точек и кавычек.
$where = array();
$where[] = '`cpu` LIKE "'.$url.'%"';
$where[] = '`id`!='.$id;
if(!empty($item_catids))
$where[] = '`i2c`.`cat_id` IN ('.implode(',',$item_catids).')';
$query = 'SELECT `cpu` FROM `'.$kernel->pub_prefix_get().'_catalog_'.$kernel->pub_module_id_get().'_items` `items`'
.'JOIN `'.$kernel->pub_prefix_get().'_catalog_'.$kernel->pub_module_id_get().'_item2cat` `i2c` ON `i2c`.`item_id`=`items`.`id`'
.'WHERE '.implode(' AND ',$where);
$result = $kernel->runSQL($query);
while($row = mysql_fetch_assoc($result))
$cpu_list[] = $row;
Неужели такой стиль лучше?
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
|
|
21.12.2012, 11:11
|
|
Профессор
|
|
Регистрация: 10.09.2009
Сообщений: 1,576
|
|
Tim, а ты yii знаешь?
Что то начал его смотреть, та официальная документация что на их сайте - это что, - все описание что есть? Типа этого должно хватить для освоения?
|
|
21.12.2012, 11:40
|
|
Профессор
|
|
Регистрация: 05.06.2009
Сообщений: 1,703
|
|
micscr,
Немного знаю теперь. У нас проект один на Yii, пришлось разбираться.
Мне было легче т.к. я смотрел как остальные модули написаны и делал свой по образцу попутно читая документацию.
С документацией действительно не оч хорошо всё. Ещё есть сайт русскоязычного сообщества http://yiiframework.ru/.
Там есть пример создания блога http://yiiframework.ru/doc/blog/ru/start.overview
Ещё есть API
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
|
|
21.12.2012, 11:43
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Сообщение от Tim
|
мы получим именно лес из точек и кавычек.
01 $where = array();
02 $where[] = '`cpu` LIKE "'.$url.'%"';
03 $where[] = '`id`!='.$id;
04 if(!empty($item_catids))
05 $where[] = '`i2c`.`cat_id` IN ('.implode(',',$item_catids).')';
06 $query = 'SELECT `cpu` FROM `'.$kernel->pub_prefix_get().'_catalog_'.$kernel->pub_module_id_get().'_items` `items`'
07 .'JOIN `'.$kernel->pub_prefix_get().'_catalog_'.$kernel->pub_module_id_get().'_item2cat` `i2c` ON `i2c`.`item_id`=`items`.`id`'
08 .'WHERE '.implode(' AND ',$where);
09 $result = $kernel->runSQL($query);
10 while($row = mysql_fetch_assoc($result))
11 $cpu_list[] = $row;
|
Что это за каша? Я такой код года два не видел.
Сообщение от Tim
|
Неужели такой стиль лучше?
|
Это вообще не стиль.
Почитай про pdo что ли. Раз уж ты используешь $kernel->, зачем использовать mysql_fetch_assoc, а не $s->fetch(). Как минимум ты будешь в одном стиле писать, про комбу в рукаве я вообще молчу.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
21.12.2012, 11:57
|
|
Профессор
|
|
Регистрация: 05.06.2009
Сообщений: 1,703
|
|
Цитата:
|
Почитай про pdo что ли.
|
Читал, не вдохновило.
Цитата:
|
Раз уж ты используешь $kernel->, зачем использовать mysql_fetch_assoc
|
Не я. Я сам в шоке с этого кода.
Цитата:
|
про комбу в рукаве я вообще молчу
|
Расскажи пожалуйста. Я что то не в теме.
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
|
|
21.12.2012, 15:57
|
|
Профессор
|
|
Регистрация: 05.06.2009
Сообщений: 1,703
|
|
micscr,
вот ещё в догонку http://yupe.ru/ . Вроде прикольная штука. Сегодня только нашёл её
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
|
|
21.12.2012, 21:42
|
|
Профессор
|
|
Регистрация: 10.09.2009
Сообщений: 1,576
|
|
спасибо, гляну, а то что то с первого взгляда немного разочаровало, т.к. объясняется система имхо плохо.
Хотя может мне непривычно, я друпалил до этого, там все по другому, но друпал для программиста идет куда то непонятно куда
|
|
21.12.2012, 22:09
|
|
Профессор
|
|
Регистрация: 05.06.2009
Сообщений: 1,703
|
|
micscr,
фреймворк достаточно интересный. да, документация такая что хочется всё бросить
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
|
|
21.12.2012, 22:41
|
|
Профессор
|
|
Регистрация: 05.06.2009
Сообщений: 1,703
|
|
micscr,
Я даже знаю людей писавших пару лет на CodeIgniter и попробовавших Zend но потом остановившихся на Yii. Сам я больше к Zend склоняюсь. Хочу ещё Symfony попробовать.
Цитата:
|
но друпал для программиста идет куда то непонятно куда
|
можно подробнее? я просто тоже хотел попробовать
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
|
|
|
|