Как установить подключение к БД в фреймворке Yii2
Как установить подключение к БД в фреймворке Yii2

Простая и тривиальная задача с которой может столкнуться начинающий Yii2 разработчик. Начнем с того, что в зависимости от конфигурации проекта, БД может настраиваться по разному. Возьмем два варианта, которые предоставляет нам см фреймворк:

  1. basic (простой вариант)
  2. advanced (продвинутый вариант)

В обоих из вариантов, настройка БД (указание префикса/tablePrefix, имя/username, пароля/password, dsn и прочего) выполняется одинаково. Все зависит от месторасположения файла и «коннектор» класса работы с БД. В нашем примере мы будем рассматривать вариант взаимодействия с базой данных MySQL, как с одной из самых популярных.

Если брать basic, то конфигурационный файл подключения, можно найти по адресу - «/config/db.php».

С advanced вариантом, немного посложнее (на то он и продвинутый, т. е. для крупных проектов). Здесь может быть более одного файла настроек БД (для разделов — backend, frontend, пр.). Все зависит от того, как изначально вы сконфигурировали свое приложение. Так как админка и пользовательская часть зачастую взаимодействуют с одной базой, то файл настроек я обычно помещаю в каталог - «/common/config/db.php». А в конфиге «/common/config/main.php», прописываю доступ к выше упомянутому. Таким образом и в backend, и в frontend, подключение к БД автоматически «подтянется».

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

Как установить подключение к БД в фреймворке Yii2
Как создать таблицу в БД WordPress
Как создать таблицу в БД  WordPress

Создание свой таблицы для CMS WordPress может понадобится в следующих случаях:

  1. При создании своего плагина
  2. При разработки своей темы (продажа или аренда недвижимости, авто, т. п.)

В своих проектах, для создании таблиц или импорта данных в БД, я использую WP функцию «dbDelta», в хуке «register_activation_hook()». Пример кода:

register_activation_hook(__FILE__, function()
{
	global $wpdb;
	
	require_once(ABSPATH.'wp-admin/includes/upgrade.php');

	dbDelta("CREATE TABLE IF NOT EXISTS `{$wpdb -> prefix}my_table` (
		`id` INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
		`title` VARCHAR(255) NOT NULL,
		`date_create` INT(10) UNSIGNED NOT NULL
	) {$wpdb -> get_charset_collate()};");	
});

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

Как создать таблицу в БД  WordPress
Как определить регион по IP на PHP используя БД
Как определить регион по IP на PHP используя БД

В этой статье рассмотрим один из вариантов определения локации пользователя по его IP адресу. А именно, с использованием существующей базы регионов и присвоенным им IP адресов сети.

Существующих баз не мало. Но мне пришлось иметь дело с базой от сайта ip2location.com. Ничего плохого сказать о его базе не могу, т. к. моя область и область некоторых моих заказчиков по нему была найдена.

Первое что нам понадобится, это скачать файл с БД. Они его предоставляют в формате CSV. И скачать его можно с этой страницы.

Импорт данных файла регионов и IP

Следуйте инструкции в описании, и вы сэкономите время. Т.к. я изначально решил попробовать импортировать данные через phpMyAdmin (используя импорт CSV). И это заняло гораздо больше времени консольный импорт.
читать далее...

Как определить регион по IP на PHP используя БД
Как отключить фильтр по датам в постах или своих типах записей
Как отключить фильтр по датам в постах или своих типах записей

Встречаются ситуации, когда в кастомных типах записей (создаваемых посредством функции register_post_type()), или уже существующих записей типа — post или page. Нам нужно отключить (убрать) отображение фильтра данных по датам. Это такой выпадающий список датами (месяц и год) когда были созданы записи на нашем сайте.
Поиск по официальной документации мало к чему привел, поэтому пришлось изучать код и находить нужные мне фильтры. Был найден фильтр «disable_months_dropdown», принимающий два параметра — состояние отображение выпадающего списка и тип записи страницы.
Пример использования фильтра:

add_filter('disable_months_dropdown', function($bool, $post_type) {
	if($post_type == 'type_order')
	{
		return true;
	}
	return $bool;
}, 1, 2);

где:
$bool — отображать или не отображать выпадающий список с датами (по умолчанию false, т. е. работа нашего фильтра отключена и даты будут отображаться)
$post_type — текущий тип записи.
Хочу обратить ваше внимание, что к текущему типу записи можно обратиться так-же через ф-ю «get_current_screen()» и ее свойство «post_type». Т.е.

get_current_screen() -> post_type

И что-то мне подсказывает, что аналогично должен отключаться фильтр по категориям (нужно будет проверить).

Как отключить фильтр по датам в постах или своих типах записей
Как автоматизировать рутинные задачи в WordPress с помощью консольной утилиты wp-cli
Как автоматизировать рутинные задачи в WordPress с помощью консольной утилиты wp-cli

Важная «не новость» для разработчиков сайтов на WordPress. А Вы в курсе о такой консольной утилите как «wp-cli»? Сам давно работаю с WP, но о ней узнал буквально пол года назад.

wp-cli — это чудо вещь для разработчиков имеющих кучу WP сайтов на локальной машине (да и не только локальной). Wp-cli, позволяет работать с вордпрессом через консоль, тем самым минимизирую Ваши временные усилия на установку движка, его обновление, а также установку тем и плагинов под него с их обновлениями.
Скажу честно, глубоко не изучал ее возможностей, но опишу лишь ее базовые функции и возможности.

Установка

Все действия будут описаны для среды ОС Linux.
Скачиваем на свою машину phar архив с утилитой:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Устанавливаем права на выполнение:

chmod +x wp-cli.phar

Копируем файл в каталог с нашими программами (ведь нам нужен доступ с любой точки файловой системы):

sudo mv wp-cli.phar /usr/local/bin/wp

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

Как автоматизировать рутинные задачи в WordPress с помощью консольной утилиты wp-cli