Хочу поделиться некоторыми успехами в переработке "кишков" сайта.
Как я уже писал, я поставил перед собой очень важную (во многих смыслах) цель. До конца лета я хочу перевести работу сайта на базы данных и работать с ними по средствам SQL. Да, сейчас сайт работает не с базами данных. Всё строится на файлах, которые содержат все данные. От того порой проблемы и возникают (в частности, проблемы, которые возникали во время турнира прогнозов, в большинстве случаев имеют ноги от сюда). Дело то тут в чём - я начал создавать этот сайт не имея представления о том - как это делается. Не буду углубляться, но первая версия сайта вообще не содержала даже файлов с данными. Всё было зашито в один файл страницы. По сути, это был сайт WEB 1.0. Затем, я поставил перед собой цель - изучить PHP и развить сайт до момента, отдалённо похожего на WEB 2.0. Постепенно изучая PHP я улучшал функционал, затем и улучшил интерфейс. Но я категорически не желал в тот период браться за базы данных. Боялся. Боялся того, что допущу ошибки уже на стадии проектирования структур баз. Мне нужно было время, чтобы освоится в этой среде - среде WEB 2.0. Так как в данный период времени я отвергаю все веб-движки (joomla, drupal и т.д.), я считаю что если я разберусь во всех тонкостях html, php и sql, то мне не составит труда разобраться с движками в последствии, ведь движки - отличный инструмент, когда нужно создать типовой сайт. Не нужно изобретать велосипед. Поэтому я считаю, на данном этапе моего развития как веб-программиста, настало время познать прелести симбиоза php и sql. В симбиоз javascript, php и sql пока не думаю. Но это тоже полезный союз, который я постараюсь освоить в будущем, если не намечу перейти от php на какой-то более мощный инструмент (надо бы).
Отраден тот факт, что с SQL я уже знаком. На работе (а я работаю инженером-программистом, но с вебом это не связано никак) я ежедневно использую запросы к базам данных. Пускай не на чистом языке SQL, но на приближённом к нему. Так же, буквально две недели назад, я работал в чистой среде Microsoft SQL Server'a, где моей задачей было исправить скрипты и запросы под наши нужды. У меня это вышло успешно. В общем, я хочу сказать - опыт был. Опыт есть. И он будет есть.
Поясню чем и для кого важен переход на SQL. Начнём с "для кого". Во-первых - для меня. Я научусь работать с SQL. Для меня это хорошо, да. Во-вторых, это важно для пользователей сайта. Теперь переходим к вопросу "чем важен". Безусловно, сайт будет работать быстрее и стабильнее. Это очень важно. Так же - сократится нагрузка на многострадальный сервер. Надеюсь теперь, когда админами с ним проведены серьёзные работы, всё будет в порядке. В целом - одни плюсы.
Итак, не скрою, я начал работу над поставленной задачей далеко не сразу после написания своего предыдущего сообщения с установкой. Начал я работу посреди прошлой недели (где-то во вторник-среду), но пик работы пришёлся на эти расширенные выходные. Что же я сделал?
Небольшая ремарка: в данный момент все изменения, которые я сделал, не отображены на сайте. Все изменения пока на моём локальном компьютере. Все изменения и обновления я буду выкладывать или по отдельности (по блокам), или в самом конце - все сразу. Как именно - решу позже. Пока ни одного блока я не завершил на 100%.
Для начала, естественно, полез смотреть - как же здесь (в PHP) строятся SQL-запросы. Мне были важны такие операции как: выборка данных (select), вставка новых строк в таблицу базы данных (insert) и, конечно, обновление данных в строке таблицы базы (update). Оказалось всё не так сложно как я предполагал ранее.
Первостепенной задачей я поставил самое главное для нашего сайта - перевод базы пользователей в базу данных. Создал скрипт, который в секунду переносит всю информацию о пользователях в базу. И сразу переделал под это дело страницу список всех пользователей. И знаете... Страница стала мигом загружаться (ещё быстрее чем раньше). Даже визуально. Единственное что притормаживало загрузку - правая колонка. Т.е. это списки бомбардиров, ассистентов и штрафников. Т.е. всё то, что пока не связано с базой данных.
Во вторую очередь я взялся за страницу профилей. Сделал чтобы вся информация корректно отображалась, чтобы все функции модераторов работали как нужно и всё это отображалось в таблице пользователей в базе данных.
В-третьих, перелопатил страницу редактирования профиля. Добавил туда несколько крошечных доработок и дополнений. Ничего серьёзного. О них я сообщу в своё время.
Это всё я сделал за три вечера этих выходных, попутно изучая тонкости запросов SQL. Вроде теперь всё ясно и работа в дальнейшем должна пойти пободрее. Следующее что я планирую переработать - механизмы регистрации юзеров, входа на сайт, напоминания пароля. Быть может это всё сделаю уже завтра.
Быть может отчётики (быть может не такие обширные как этот) я буду выкладывать в конце каждой недели, если это кому-то интересно. Если интересно - отразите это как-то в комментариях, чтобы я знал что не зря пишу.
В целом, я доволен тем как идёт работа. Теперь в душ и спать, завтра на работу. Спишемся.
Хочется показать сегодня два видеоклипа. Оба - от британцев. Первый - отличная лёгкая летняя песня, вторая - потяжелее, для любителей смеси электроники и панка.
Отписываюсь: мне было интересно. Давно вынашиваю идею создания подобного сайта. Так что хотя наверное этот комментарий уже не актуален, но все же было интересно. Удачи!