GIT: коммит и рекэширование с .gitignore

Когда при работе вы сначала добавили файлы в индекс, а затем решили что-то изменить в их структуре путем .gitignore, но еще не пушили на сервер, можно изменить все путем рекэширования.

делаем изменения в .gitignore

выполняем удаления всего из кэша(либо определенных файлов)

git rm -r --cached .

добавляем все назад в индекс

git add .

коммитим

git commit -m ".gitignore fix"

Faker: генерация тестовых данных

Для заполнения БД, в тестах полезно использовать готовое решение для генерации данных https://github.com/fzaninotto/Faker

Установка composer require fzaninotto/faker

Вариантов очень много, в том числе можно свой форматтер добавить если нужно кастомное решение.

<?php
require_once '/path/to/Faker/src/autoload.php';
$faker = Faker\Factory::create('ru_RU');
for ($i = 0; $i < 10; $i++) {
  echo $faker->name, "\n";
}
?>

Composer: версионирование

Одно из самых распространенных вида a.b.c

  • a — мажорная. при нарушении обратной совместимости
  • b — минорная при добавлении нового функционала, но с сохранением совместимости.
  • c — патч/фикс/правки текущего функционала

Возможное указание версий < * > ^ ~

  • 0.0.* последняя * заменится на максимальную
  • или >0.0.1 <0.1 выберет максимальную из промежутка
  • оператор ~ лучше всего объясняется примером: ~1.2 эквивалентен >=1.2 <2.0.0, а ~1.2.3эквивалентен >=1.2.3 <1.3.0
  • оператор ^ обновить все до мажорной ^0.0.1 возьмет последнюю до 1 версии

Docker: Yii2-advanced

В этот раз попробуем собрать близкий к рабочему конфиг для связки php+nginx+mariadb и создадим новый проект на фреймворке Yii2 с шаблоном advanced и его последующей настройкой для работы в режиме разработки(development).

Структура папок будет примерно(опять же в будущем будет меняться в зависимости от требований):

Читать далее

Docker: конфиг новичка

В будущем будет меняться по мере изучения docker. Пока что буду публиковать заметки и подсказки очень кратко. Часть материала взята из открытых источников. Связка для первого проекта будет php+nginx+mariadb+adminer

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

Читать далее