![]() ![]() ![]()
Какой рейтинг вас больше интересует?
|
Главная /
Каталог блоговCтраница блогера RMCreative.ru - Блог/Записи в блоге |
![]() |
RMCreative.ru - Блог
Голосов: 1 Адрес блога: http://rmcreative.ru/feed/ Добавлен: 2008-06-12 21:34:00 блограйдером ZaiSL |
Получаем данные Google Analytics из PHP
2013-04-30 01:57:02 (читать в оригинале)Иногда требуется показать данные из Google Analytics анонимным пользователям. Например, соорудить красивую статистику как на хабре или вывести счётчик посещений для конкретной страницы.
Реализуется не совсем очевидно. В официальных документах если и описано, то очень и очень расплывчато. Хорошо, что есть добрые люди на StackOverflow. Итак, решение.
- Идём в консоль API Google. Создаём новое приложение.
- В меню выбираем «services» и включаем «Analytics API».
- Идём в API Access, жмём «Create an OAuth 2.0 client ID»:
- Вводим имя приложения, загружаем логотип, жмём «next».
- Выбираем «Service account», «Create client ID».
- Загружаем себе файл секретного ключа. Складываем, например, в
libs/google/keys
.
- Возвращаемся в «API Access». Появился блок «Service account».
- Берём оттуда «Email address», идём в админку аккаунта Google Analytics, добавляем email в качестве пользователя аккаунта.
- Сливаем последнюю версию Google API PHP client, складываем в проект содержимое
src
. Например, вlibs/google
. - Пишем код.
require_once('libs/google/Google_Client.php'); require_once('libs/google/contrib/Google_AnalyticsService.php'); $client = new Google_Client(); $client->setApplicationName('My cool application'); $client->setAssertionCredentials( new Google_AssertionCredentials( // тот самый email, который мы добавляли в analytics '13901308-vb17d63uka19@developer.gserviceaccount.com', array('https://www.googleapis.com/auth/analytics.readonly'), // полный путь к загруженному секретному ключу file_get_contents('libs/google/keys/761774d73f0e-privatekey.p12'), )); // Client ID со страницы API Access $client->setClientId('13901308-vb17daf1ka19.apps.googleusercontent.com'); $client->setAccessType('offline_access'); $service = new Google_AnalyticsService($client); // получаем количество уникальных посетителей конкретного профиля с 2009 года $data = $service->data_ga->get('ga:20342384', '2009-01-01', date('Y-m-d'), 'ga:visitors', array( 'dimensions' => 'ga:pagePath', 'filters' => 'ga:pagePath==/user/samdark/', )); print_r($data);
В процессе работы с API очень полезны Google Analytics Query Explorer и полное описание API.
Yii2 и Twig, дополнительный синтаксис
2013-04-28 18:40:57 (читать в оригинале)Итак, код Yii2 уже близок, чтобы показать его всем. Пока Qiang доделывает последний тикет, а именно ActiveForm, я решил плотнее поработать с шаблонными движками. Уже сейчас реализована самая базовая поддержка Smarty и Twig, но кучу всего, что доступно в PHP-шаблонах, через них делать пока нельзя.
Порыв немного Twig, я понял, что реализовать это можно кучей разных способов, но так как сам с Twig не работаю, мне трудно решить, как же будет удобней.
Например, создание ссылки. В Yii2 оно делается примерно так:
echo Html::a('Posts, page 2', array('post/index', 'page' => 2));
Если утащить в Twig как есть в виде функции, получается:
{{ a('Posts, page 2', {0: 'post/index', 'page': 2}) | raw }}
По-моему, несколько криво. Если пользуетесь Twig, как бы вам было удобней?
Вот ещё некоторые штуки о которых хотелось бы мнений по синтаксису:
// В Twig вроде было что-то своё на эту тему echo Html::encode('content with <html>'); // не привязанная к модели форма echo Html::beginForm(array('post/edit', 'id' => 10), 'post', array('enctype' => 'multipart/form-data')); echo Html::dropDownList('mySelect', 1, array(0 => 'A', 1 => 'B'), array('class' => 'mySelectCSSClass')); echo Html::activeLabel($postModel, 'title', array('class' => 'postTitleLabel')); echo Html::endForm(); // URL echo Html::url(array('post/index', 'page' => 2)); // свойство приложения echo \Yii::$app->language; // title станицы echo $this->title; // отрендерить ещё какой-то view внутри текущего echo $this->render('viewName', array('x' => 'y')); // использовать виджет echo $this->widget('yii\widgets\Something', array('x' => 'y', 'z' => 42)); // ActiveForm $form = $this->beginWidget('yii\widgets\ActiveForm'); echo $form->field($model, 'username')->textInput(); echo $form->field($model, 'password')->checkboxAlt(); $this->endWidget(); // подключение asset-ов $this->registerAssetBundle('jquery');
jQuery 2.0
2013-04-19 02:57:03 (читать в оригинале)Релизнулась версия 2.0 самой популярной JavaScript-библиотеки.
В релизе выкинули поддержку Internet Explorer 6, 7 и 8. За счёт этого выиграли в размере на 12% и прибавили в скорости. Можно выиграть в размере ещё больше, если сделать свой билд, убив ненужные из 12-и встроенных по умолчанию модулей.
Тем, кому нужны старые IE остаются на ветке 1.x, которая их поддерживает и которую не забросили (скоро выйдет 1.10) и планируют поддерживать ещё несколько лет. API 2.0 хоть и совместим с не-deprecated 1.9, но изменений всё-таки много.
- Официальный анонс
Буду на РИТ++
2013-04-16 12:53:46 (читать в оригинале)Выступлю на РИТ++, который пройдёт 22—23 апреля в Москве, где расскажу «куда катится PHP, а также про Yii и другие фреймворки»: про тенденции делать фреймворки слишком универсальными, про отход от RAD, про стремление к инфраструктуре наподобие монстров вроде J2EE, про то, что PHP как инструмент для бизнеса очень хорош, про баланс, крайности, ну и про Yii, конечно.
Состав докладчиков, как обычно, довольно сильный. Посетить определённо стоит. Особенно если не были на московских конференциях какое-то время.
Регистрируйтесь
Yii Application Development Cookbook, Second Edition
2013-04-12 04:29:37 (читать в оригинале)Вторая англоязычная редакция моей книги рецептов Yii в данный момент направляется к печатному станку и будет доступна через пару недель. В новой редакции многие рецепты были значительно переписаны, чтобы не отставать от изменений в Yii и в мире PHP в общем. Описания и объяснения подверглись жёсткой критике и были улучшены. Также исправлены все ошибки, найденные в первой редакции.
В новую версию были включены некоторые полностью новые рецепты:
- Rendering content at the client side
- Leveraging HTTP caching
- Using Composer with Yii
Подробнее можно почитать на сайте книги.
Кстати, фото с попугайчиками на обложке было снято мной в Малайзии в 2012. Круто, что издательство дало сменить скучную обложку с камешками в самый последний момент.



Загрузка...

взяты из открытых общедоступных источников и являются собственностью их авторов.