<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

После прохождения курса Вы без труда сможете создавать любые сайты с использованием фреймворка Yii, причём делать это будете быстро и качественно.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Как работать с API ВКонтакте

Как работать с API ВКонтакте

У меня часто спрашивают, как работать с API. Наиболее, популярной задачей, связанной с API, является - работа с API ВКонтакте. В данной статье я покажу, как работать с API ВКонтакте, а, главное, покажу Вам, что все API работают по единому принципу.

Вот порядок действий, который Вам необходимо сделать, чтобы начать работать с любым API:

  1. Найти документацию по нужному API.
  2. Посмотреть примеры подключения к API. Тут могут быть разные варианты. Например, на одном сервисе потребуют секретный ключ, выдаваемый после регистрации. На втором сервисе, все запросы не требуют секретных ключей. На третьем сервисе, есть и с секретным ключом, и без варианты работы. Иногда, секретный ключ называют токеном.
  3. Скопировать простой готовый код с сайта документации и проверить его работу. Если не работает, то ищите ошибку у себя, так как едва ли она будет у сервиса.
  4. Найти в документации метод, который решает Вашу задачу.
  5. Используя примеры и описание метода, отправить правильный запрос к API.
  6. В зависимости от формата ответа, разобрать его на "составные части", а дальше уже делать то, что требуется - вывести пользователю, сохранить в файл, отправить в базу данных и тому подобное.

А в качестве примера следования данной инструкции мы разберём API ВКонтакте. Итак:

  1. Ссылка на документацию.
  2. В данном случае есть методы, которые общедоступны, а потому не требуют токена, а есть методы, требующие его.
  3. В данном случае, примеров на конкретном языке я не нашёл. Возможно, они есть, но явно не на виду. Обычно же, у API для каждого метода есть примеры на разных языках.
  4. Мы хотим вывести 5 последних записей со стены конкретного пользователя, а затем вывести их у себя на сайте. Нужный нам метод тут.

Теперь мы должны отправить запрос к API, используя описание метода. Делать мы это будем через PHP:

<?php
  $wall = file_get_contents("https://api.vk.com/method/wall.get?v=5.3&filter=others&domain=myrusakov&count=5");
  print_r($wall);
?>

В данном случае, я использую API 5.3 (v=5.3), вывожу все записи независимо от автора (filter=others) со своей страницы (domain=myrusakov) в количестве 5 штук (count=5). Думаю, что здесь всё очень прозрачно.

Мы получили ответ в формате JSON, и теперь нам нужно перейти к последнему пункту - разобрать ответ на "составные части". Дальше мы с Вами выведем записи со стены в более-менее читабельном виде на странице нашего сайта. Результирующий PHP-код:

<?php
  $wall = file_get_contents("http://api.vk.com/method/wall.get?v=5.3&filter=others&domain=myrusakov&count=5"); // Отправляем запрос
  $wall = json_decode($wall); // Преобразуем JSON-строку в массив
  $wall = $wall->response->items; // Получаем массив комментариев
  for ($i = 0; $i < count($wall); $i++) {
    echo "<p><b>".($i + 1)."</b>. <i>".$wall[$i]->text."</i><br /><span>".date("Y-m-d H:i:s", $wall[$i]->date)."</span></p>"; // Выводим записи
  }
?>

Как видите, всё очень просто. Самая сложная часть - разобрать на составные элементы. Я предпочитаю выводить результат от API через print_r, а уже затем писать обработку этого. Хотя можно посмотреть пример ответа в описании метода, а дальше уже написать парсер.

Вот так происходит работа с API ВКонтакте, и абсолютно аналогично она происходит с любым другим API.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (7):

rysich rysich 12.12.2013 00:04:25

Остаётся только добавить, что если у кого-то не работает, обновите версию php, а то обработка json вроде бы есть только в 5.3 и выше.

Ответить

almazik2015 almazik2015 23.02.2014 01:05:06

Спасибо) Появилась хорошая идея благодаря вашей статье!

Ответить

Вшьф1501 Вшьф1501 09.11.2014 18:25:29

Все на странице выводится нормально, а это в виде "іРё РіСѓ". Есть какое-нибудь решение?

Ответить

prdie prdie 04.11.2015 21:31:52

добавьте в штекер AddCharsetDefault UTF-8

Ответить

shmel010201 shmel010201 19.01.2017 21:12:24

Добавьте в файл htaccess следующее: AddDefaultCharset UTF-8

Ответить

Михаил18 Михаил18 15.02.2015 00:49:34

Данные на сервер приходят в неправильной кодировке, как это можно исправить?

Ответить

VitStar VitStar 20.06.2016 13:30:03

Добрый день! Возникла такая проблема. Мне нужно в этом же циклу вывести еще картинку и ссылку. Вы выводите то что расположено в response->items ({"response":{"count":46,"items":[{"id":76,"from_id":-119917698,"to_id":-119917698,"date":1465914200,"post_type":"post","text":"В этом году информационным партнером IV Центрального Бизнес форума \"Рывок 2016\" стал телеканал ПРО БИЗНЕС. Телеканал ПРО БИЗНЕС – первый и единственный в России телеканал, вещающий от лица реального бизнеса. http:\/\/probusinesstv.ru\/delovaya-afisha\/15296\/") Но вот ссылка и картинка находятся в attachments (,"attachments":[{"type":"photo","photo":{"id":418857496,"album_id":-7,"owner_id":-119917698,"user_id":100,"photo_75":"http:\/\/cs630728.vk.me\/v630728626\/313d9\/rps_cNu7ozU.jpg","photo_130":"http:\/\/cs630728.vk.me\/v630728626\/313da\/w9uTB_XwssQ.jpg","photo_604":"http:\/\/cs630728.vk.me\/v630728626\/313db\/HpXxmBkVuQ4.jpg","photo_807":"http:\/\/cs630728.vk.me\/v630728626\/313dc\/4v06al3Eu00.jpg","photo_1280":"http:\/\/cs630728.vk.me\/v630728626\/313dd\/jzf23NinosE.jpg","photo_2560":"http:\/\/cs630728.vk.me\/v630728626\/313de\/3K9lW_Flq5g.jpg","width":2137,"height":692,"text":"","date":1465914201,"post_id":76,"access_key":"bc6d2d3d7e6a6673cd"}},{"type":"link","link":{"url":"http:\/\/probusinesstv.ru\/delovaya-afisha\/15296\/","title":"Предприниматели Центрального федерального округа соберутся в Смоленске","description":"","image_src":"http:\/\/cs615823.vk.me\/v615823626\/1b958\/maDHKuKz39o.jpg"}}],"comments":{"count":0},"likes":{"count":1},"reposts":{"count":1}},) Каким образом оформить можно выборку ? Заранее спасибо за помощь!

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.