Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 21.12.2012, 01:47
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от Tim
Представь что в зависимости от некоторых условий нужно слегка изменить запрос. Например добавить сортировку или WHERE. Как поступишь со своим лесом из точек и кавычек?
Ответ содержится в вопросе. Добавлю сортировку или where. При чем тут лес из кавычек? SQL синтаксис родной для SQL.

Да, да, в идеале переносимость на всё и вся. Всё и вся всеядность. В итоге тормоза и завышенные требования к хостингу. Это работает медленно. И медленно из-за этого всё и вся.

А вся эта переносимость от неправильной постановки задачи и методов её решения.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #12 (permalink)  
Старый 21.12.2012, 10:19
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 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'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #13 (permalink)  
Старый 21.12.2012, 11:11
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

Tim, а ты yii знаешь?
Что то начал его смотреть, та официальная документация что на их сайте - это что, - все описание что есть? Типа этого должно хватить для освоения?
Ответить с цитированием
  #14 (permalink)  
Старый 21.12.2012, 11:40
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

micscr,
Немного знаю теперь. У нас проект один на Yii, пришлось разбираться.

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

С документацией действительно не оч хорошо всё. Ещё есть сайт русскоязычного сообщества http://yiiframework.ru/.
Там есть пример создания блога http://yiiframework.ru/doc/blog/ru/start.overview

Ещё есть API
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #15 (permalink)  
Старый 21.12.2012, 11:43
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 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.
Ответить с цитированием
  #16 (permalink)  
Старый 21.12.2012, 11:57
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Цитата:
Почитай про pdo что ли.
Читал, не вдохновило.

Цитата:
Раз уж ты используешь $kernel->, зачем использовать mysql_fetch_assoc
Не я. Я сам в шоке с этого кода.

Цитата:
про комбу в рукаве я вообще молчу
Расскажи пожалуйста. Я что то не в теме.
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #17 (permalink)  
Старый 21.12.2012, 15:57
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

micscr,
вот ещё в догонку http://yupe.ru/ . Вроде прикольная штука. Сегодня только нашёл её
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #18 (permalink)  
Старый 21.12.2012, 21:42
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

спасибо, гляну, а то что то с первого взгляда немного разочаровало, т.к. объясняется система имхо плохо.
Хотя может мне непривычно, я друпалил до этого, там все по другому, но друпал для программиста идет куда то непонятно куда
Ответить с цитированием
  #19 (permalink)  
Старый 21.12.2012, 22:09
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

micscr,
фреймворк достаточно интересный. да, документация такая что хочется всё бросить
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #20 (permalink)  
Старый 21.12.2012, 22:41
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

micscr,
Я даже знаю людей писавших пару лет на CodeIgniter и попробовавших Zend но потом остановившихся на Yii. Сам я больше к Zend склоняюсь. Хочу ещё Symfony попробовать.

Цитата:
но друпал для программиста идет куда то непонятно куда
можно подробнее? я просто тоже хотел попробовать
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
var или function при ООП? artnik Общие вопросы Javascript 7 20.12.2019 14:09
Помогите с ооп Zim_one Общие вопросы Javascript 8 18.11.2012 00:11
ООП в javascript iostream21 Общие вопросы Javascript 11 12.07.2012 00:16
Есть ли смысл использовать ООП. Duda.Ml1986@gmail.com Оффтопик 18 18.02.2012 21:47
ООП PHP вопрос mycoding Серверные языки и технологии 9 03.06.2010 02:57