Разработка сайтов на WordPress и фреймворке Yii2

Здесь вы можете заказать полный пакет услуг по разработке сайта. Начиная от написания ТЗ до программирования на PHP, JavaScript и верстке.

Как получить время всех таймзон (timezone) на PHP

Программирование на PHP

Для того что бы получить массив списка всех тайм зон с временной разницей по Гринвичу, используйте следующую функцию:

function get_time_timezones()
{
	$zones_array = array();
	$timestamp = time();
	
	$default_timezone = date_default_timezone_get();
	$timezone_list = timezone_identifiers_list();
	
	foreach ($timezone_list as $zone)
	{
		date_default_timezone_set($zone);
		$zones_array[$zone] = date('P', $timestamp);
	}
	
	date_default_timezone_set($default_timezone);
	
	return $zones_array;
}

Читать далее...

Как сгенерировать QR код для сайта

Как сгенерировать QR код для сайта

В этой небольшой статье, рассмотрим один способ генерации QR кода на PHP.
Согласно «мозгу» нашего интернета (wikipedia) который врет но редко :), QR код это:

QR-код (англ. Quick Response Code — код быстрого реагирования; сокр. QR code) — товарный знак для типа матричных штрихкодов (или двумерных штрихкодов), изначально разработанных для автомобильной промышленности Японии.

Но а если проще, то QR код, это картинка содержащая штрихкод квадратной формы. Прочитать который можно мобильным телефоном (с установленным ПО) или специальным техническим средством.

Перейдем к делу

Мы не будем придумывать велосипед, а для генерации QR кода на PHP будем использовать готовую библиотеку «phpqrcode» (спасибо автор!). Библиотеку можно скачать с гитхаба по этой ссылке.
Библиотека «легкая» и имеет всего лишь пару десятков файлов, занимающих в общей сумме чуть больше 250 кб.

Читать далее...

Кастомная верстка на Bootstrap 3

Кастономная верстка на Bootstrap

Здравствуйте! В этой статья, хочу описать свой опыт кастомной верстки, с использованием фреймворка Bootstrap 3.

Чем именно мы займемся?

  1. Научимся устанавливать SCSS версию Bootstrap через Bower
  2. Настраивать сетку бутстрапа и другие параметры фреймворка (по необходимости)
  3. Включать те или иные компоненты Bootstrap в «результативный» файл стилей

Конфигурация проекта

Для начала, давайте определимся со структурой каталогов нашего проекта. Возьмем к примеру следующий:

/_data
	/scss
		/bootstrap			//В этом каталоге находятся измененные нами файлы Bootsrap
			_bootstrap.scss	//Подключенные компоненты
			_variables.scss	//Переменные
		style.scss			//Содержит подключения других файлов
		template.scss		//Стили проекта
	.bowerrc
	bower.json
	gulpfile.js
	package.json
/assets						//Содержит загруженные бовером скрипты
/image						//Изображения и стили проекта
index.php

Читать далее...

Как установить NodeJs, Gulp и Bower под *ubuntu (кратко)

NodeJs, Gulp и Bower под _ubuntu (для начинающих)

Данная статья скорее необходимость, чем подробное руководство по node, gulp, bower и npm. Дело в том, что последующие пару статей затронут материал касающийся верстки. А я последнее время все больше и больше использую такие «механизмы» для облегчения и оптимизации рабочего процесса.

Краткое описание:
Gulp — сборщик проектов написанный на node.js
Bower — менеджер пакетов для фронтенда в web. Так же написан на node.js
Node.js — программная платформа, основанная на движке V8 (транслирующем JavaScript в машинный код)
Npm — пакетный мендежер для node.js (а Gulp и Bower являются его пакетами)

И так, что нам нужно в итоге? - установленные и рабочие Gulp и Bower. Которые в последствии позволят нам увеличить производительность в плане web разработки.

А для этого, нам потребуется установить Node.js и Npm. Поехали.

Установка

Установка NodeJs:

$ sudo apt-get install nodejs

Устанавливаем менеджер пакетов Npm:

$ sudo apt-get install npm

Не знаю как под Windows, но под ubuntu это делается очень просто :). Даже ничего предварительно не нужно скачивать. Ввел команду, и вуаля — все готово.

Читать далее...

Кэширование в Yii2 и поведения (behavior)

Фреймворк yii2

Что делать, если Вам потребовалось внедрить стандартный функционал (к примеру кэширование данных) к некоторым стандартным моделям? Мне в данном случае, на помощь пришел behavior и его великолепные возможности.

Если вкратце, то behavior (поведение), в фреймворке yii2, позволяет расширять контроллеры и модели (или все то что было наследовано от класса «Component») своими дополнительными методами. Работает по аналогии с трейтами в PHP, но не то же самое. Если вас интересует более детальное определение и возможности, для этого загляните на официальный сайт фреймворка.

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

История. На определенном этапе разработки, потребовалось внедрить кэширование к четырем стандартным моделям:

  • Рубрикам
  • Категориям
  • Регионам
  • Городам

Читать далее...