Добрый день, уважаемые читатели рассылки "Как сделать популярный сайт" Выпуск 196. ~~~~~ Функция getJSON. ~~~~~ Внимание! Если ваша почтовая программа не отображает корректно рисунки или тексты, то Нажмите здесь :: http://kocby.ru/post/webmaster/text/issue196.html
Функция getJSON. Если Вы не популярны, Значит, Вас как бы и не существует...
Сегодня на несложном практическом примере мы изучим функцию getJSON() и рассмотрим взаимодействие трех специалистов: программера рабочей станции (компьютера пользователя, JavaScript с библиотекой jQuery), серверного программера (PHP) и проектировшика БД. Занятие состоит из трех этапов. 1. Просмотр работы функционала с точки зрения обычного пользователя. 2. Просмотр работы функционала с точки зрения программера. 3. Установка функционала на свой сайт и адаптация его под свой дизайн и прочие представления о том, 'как оно должно быть'. © Перепечатка разрешается с установкой ссылки на ресурс http://kocby.ru/.
Уважаемые коллеги!
В нашем последнем выпуске...
YII - высокопроизводительный веб фреймворк на PHP. :: http://kocby.ru/post/webmaster/text/issue195.html
Мы познакомились и научились работать с PHP фреймворком YII ('Yes It Is !').
Вообще говоря, такие вопросы как 'использовать ли фреймворки и какой именно использовать' обычно не слишком актуальны и имеют универсальный английский ответ: 'it depends!'
Если, например, вы поступили на работу в контору где активно юзается YII, то какие вопросы? Вы изучаете и используете именно YII. Если же фреймворки принципиально не признаются, то пишите чистый код с нуля.
Конечно, приятна ситуация, когда есть возможность самому диктовать моду и задавать вектор направления развития в рамках отдельно взятой софт компании или дизайн студии, но это и большая ответственность. Кроме того, крайне желательно, разбираться в основах, иначе есть риск уехать не туда...
Это был разогрев и связка со вчерашним днем.
Сегодня на несложном практическом примере мы изучим функцию getJSON() и рассмотрим взаимодействие трех специалистов: программера рабочей станции (компьютера пользователя, JavaScript с библиотекой jQuery), серверного программера (PHP) и проектировшика БД.
Сначала посмотрим на плод их совместного труда с точки зрения конечного пользователя: http://kocby.ru/test/time/
Для пользователя данный функционал нужен для того, чтобы убедиться, что часы на его компьютере показывают время правильно. Это бывает далеко не всегда. Причины неполадок со временем могут быть разные: испортилась батарейка БИОС, глюканула служба синхронизации и т.д.
Кроме того, для пользователя опрелеляется часовой пояс. Обнаружив, что он находится, например, в Москве, а не где-нибудь на Аляске или в Магадане, пользователь должен успокоиться, а, может, даже и обрадоваться.
Для запуска процесса пользователь должен отметить радио-кнопку 'Да! Я согласен(сна) запустить процесс!' и нажать 'Запустить процесс!'. Можно было бы обойтись без этого риторического вопроса и сделать автозапуск. Но это, во-первых, неэтично, а во-вторых, не так наглядно.
Итак, пользователь запустил процесс, посмотрел по карте, в каком часовом поясе он находится и довольный пошел спать.
Теперь посмотрим на этот же функионал с точки зрения участников команды разработчиков: http://kocby.ru/post/webmaster/jquery/getjson/
Это тот же самый функционал, только добавлена некоторая гибкость. Пользователь имеет возможность изменять (читай - искажать) временные характеристики рабочей станции с целью глубже протестировать функционал, посмотреть как будет отображаться карта чужой часовой зоны и т.п.
Как осуществляется взаимодействие между участниками команды разработчиков.
Примерно вот так.
Программер рабочей станции (компьютера пользователя, JavaScript с библиотекой jQuery). Эй, ты, серверный программер PHP! Я тебе кину объект JSON методом GET со следующими переменными: work_st_FullYear - год work_st_Month - месяц work_st_Date - день work_st_Hours - час work_st_Minutes - минуты work_st_Seconds - секунды work_st_TimezoneOffset - смещение в минутах от нулевой зоны Гринвича (GMT) с точки зрения рабочей станции.
А ты мне дай в ответ информацию в формате JSON, чтобы мне ее легче было обрабатывать: server_FullYear - год server_Month - месяц server_Date - день server_Hours - час server_Minutes - минуты server_Seconds - секунды
dif_Year - разница в значении года dif_Month - разница в значении месяца dif_Date - разница в значении дня dif_Hours - разница в значении часа dif_Minutes - разница в значении минут dif_Seconds - разница в значении секунд dif1 - разница в значении отклонения от (UTC+0) в минутах точная dif1_rounded - разница в значении отклонения от (UTC+0) в минутах округленная до значения целых минут.
code1 - код зоны в формате (UTC+0). minstart - начало интервала зоны в минутах. minend - конец интервала зоны в минутах. desce - описание зоны на англ. descr - описание зоны на русском. iso8601 - пример, как для данной зоны отображается время в международном формате. dst - Регионы данной зоны, в которых действует DST (Daylight Saving Time, Переход на Летнее Время).
Последнюю группу данных (начиная с code1) программер PHP выдергивает из БД.
Понятное дело, что для маленьких простых проектов все три роли объединяются в одном исполнителе (он же главный начальник, руководитель проекта), но для больших проектов такое разделение необходимо. Чем уже специалист, тем глубже он может погрузиться в свою предметную область, тем качественее продукт он может произвести.
На данном простом примере вы можете прочувствовать специфику труда каждого специалиста.
Чтобы совсем все хорошо понять и прочувствовать, данный функционал вы можете установить на свой сайт: http://kocby.ru/post/webmaster/jquery/getjson/getjson.zip
Все программы и инструкция предлагаются бесплатно. Вы можете адаптировать функционал под свой вкус и/или потребности.
Последовательность установки на свой сайт и адаптация под свои нужды.
1. Распакуйте getjson.zip и все файлы из него положите на свой сайт в одну директорию (папку). Запустите index.html - сразу все должно заработать без использования БД (Базы Данных).
2. Установка БД (Базы Данных) - при желании. Создайте БД на своем хостинге и подправьте в файле db_test.php параметры так, чтобы они совпадали с вашими реальными значениями. $mysqli_server = "localhost"; $mysqli_user_name = "DB_user_name"; $mysqli_user_pass = "DB_user_pass"; $mysqli_db = "DB";
Обратите внимание, что в большинстве случаев значение $mysqli_server следует оставлять как раз "localhost", за исключением особо оригинальных хостинговых сервисов.
Теперь сделайте импорт данных из файла db_time.sql и теперь функционал должен работать с подключенной БД.
Если чувствуете себя не очень уверенно и комфортно с БД, перечитайте выпуски: 180, 181,
3. Файл параметров param1.js.
Обратите внимание на файл param1.js, здесь есть ряд полезных триггеров.
Например, переменная: // var time_in_form1 = true; // версия для программера var time_in_form1 = false; // версия для конечного пользователя
Если установлено значение 'true' функционал будет работать в режиме 'для разработчика', если 'false', то в режиме 'для пользователя'.
Вы можете поиграться этими и другими параметрами.
4. Тонкая доводка.
Адаптируйте стили (файл(ы) *.css) под свой дизайн. Раскидайте файл библиотек по папкам, исходя из собственных представлений об удобстве. И т.д. И т.п.
Вот, кажется, и все.
Спасибо за внимание.
~~~~~ Обратная связь ~~~~~ У вас есть два способа реагирования на данный выпуск.
На форуме...
"Как сделать популярный сайт" на форуме :: http://kocby.ru/b/viewforum.php?f=5
Написать лично мне.
Данные для связи на контактной страничке :: http://kocby.ru/contact.html
Ниже дан мой работающий емейл, но доставка через форму на указанном урле надежнее, ее вероятность является почти 100%.
### Конец выпуска. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
Комментариев нет:
Отправить комментарий