10 июня, 2010

Разное

Зачем писать движок сайта самому

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

Занимаюсь сайтами с 2007 и такая задержка связана с высокой самокритичностью. То не нравился внешний вид, то сам «движок» на PHP. А хотелось все сделать самому, начиная от верстки HTML + CSS, PHP с ООП, заканчивая библиотекой функций на JavaScript. От идеи «все делать самому» я так и не отказался.

Кто то может возразить «Зачем так мучаться? Можно взять готовый движок «DLE» или «WordPress» и публикуй себе...» — не возражаю против такой задачи, и сам так делал и, наверное, буду делать в будущем. А этот сайт — хорошая учебная практика.

Теперь и базы данных стремятся к „нормальным“ формам и такие запросы MySQL стали привычным делом:

SELECT SQL_CALC_FOUND_ROWS `publication`.`id`,
CONCAT(DATE_FORMAT(`publication`.`date`, '%e '),
ELT(MONTH(`publication`.`date`),'января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря'),
DATE_FORMAT(`publication`.`date`, ', %Y')) AS `date`,
`publication`.`heading`, `publication`.`introtext`,
COUNT(DISTINCT `comment`.`id`) AS `coms`,
CONVERT(GROUP_CONCAT(DISTINCT `catpub`.`cat` SEPARATOR '::') USING cp1251) AS `catid`,
GROUP_CONCAT(DISTINCT `category`.`heading` SEPARATOR '::') AS `catname`
FROM `pub`
LEFT OUTER JOIN `comment` ON `comment`.`pub` = `publication`.`id`
INNER JOIN `catpub` ON `catpub`.`pub` = `publication`.`id`
INNER JOIN `category` ON `category`.`id` = `catpub`.`cat`
WHERE `publication`.`show` = 'true'
GROUP BY `publication`.`id`
ORDER BY `publication`.`date` DESC, `publication`.`id` DESC
LIMIT ${startlist}, ${limitlist}

Теперь знаю хоть что-то, и можно разбирать чужие коды в чужих движках.


Добавить комментарий

2010–2019 Блог Максима Златова, контакты

PHP execution time: 0.0097 s.
SQL execution time: 0.0018 s. (select publication with comments)

Яндекс.Метрика