-
Скачиваем отсюда https://nginx.org/ru/download.html и распаковываем куда-нибудь.
-
Дальше читаем тут https://nginx.org/ru/docs/windows.html ВНИМАНИЕ: команду
start nginx
обязательно даем прямо из каталога, в котором лежит nginx.exe, в противном случае при дальнейшей работе будут ошибки (все пути в конфигурации прописаны как относительные, только поменяв их все, можно запускать откуда угодно). Вообще рекомендуется держать консоль открытой в этом каталоге до самого конца выполнения инструкций, однако для работы nginx это необязательно - если её закрыть, он продолжит работать. -
Открываем http://localhost/ - должно заработать.
-
Скачиваем Community Server в виде zip-архива.
(Если пугают новшества последних версий, можно остановиться на 5.7. Например, 5.7.26-winx64.)
На странице загрузки можно перейти по ссылке No thanks, just start my download в нижней части страницы. -
Распаковываем куда-нибудь.
-
Удаляем папку
lib
(она содержит исходный код для самостоятельной компиляции и при работе сервера не требуется). Также можно удалить файлыbin/*.pdb
(они нужны только для отладки исполняемых файлов MySQL и при обычной работе не требуются).
Все методы, объявленные в интерфейсе, фактически являются абстрактными: все их необходимо явно определить в дочернем классе. То есть, описать какую-то универсальную логику с помощью интерфейса не получится.
При этом
Дочерний класс должен реализовать все методы, описанные в интерфейсе, иначе произойдёт фатальная ошибка.
Кроме того, в интерфейсах нельзя объявлять свойства. Можно только методы и константы.
# This script should be run from one of .git/hooks files. | |
# Current directory will be .git | |
# git commands don't need directory be changed to | |
# project root. | |
# composer command does need. | |
export composer_exec="php ~/composer" | |
export command="git diff --name-only $oldrev $newrev -- composer.lock" | |
read oldrev newrev refname | |
export was_changed=$($command) |
Распаковку массивов можно использовать вместо array_merge()
:
$a = [ 1 ];
$b = [ 2 ];
// $c и $d ниже будут идентичны
$c = array_merge($a, $b, [3]);
$d = [ ...$a, ...$b, 3 ];
class SomeClass {
private $settings = [
'a' => 1,
'b' => 2,
];
function __construct($options)
{
$this->settings = array_replace_recursive(
Вернуть файл к состоянию последнего коммита (аналог svn revert
) можно командой git checkout файл
.
Уточнение: файл будет возвращен к зафиксированному состоянию, если после коммита была явно дана команда git add файл
. То есть, откатываются изменения, сделанные после git commit
или git add
.
Если файл был удален, то нужно указать версию; например git checkout HEAD файл
.
Так можно откатить и всю папку (в т.ч. рабочий каталог): git checkout .
.
Для отмены изменений на уровне рабочей копии служит команда git reset
. Она "отматывает" историю изменений назад до указанного момента (в том числе отменяет коммиты), не трогая физические файлы:
git reset файл
<?php | |
/* There is no point in using symbolic links instead of just assigning values in the case below. */ | |
// Run this on console or use ob_flush()! | |
echo "Before: " . round(memory_get_peak_usage(true)/1024/1024, 2) . " Mb\n"; | |
// Never less than 2 mb at start |
Установочный пакет можно скачать здесь https://git-scm.com/download/win (см. также https://gitforwindows.org/).
Далее будет рассмотрена работа с portable-версией.
В пакете присутствует не только сам git, но и средства для работы в командной строке, которые позволяют сделать рабочий процесс практически полностью идентичным таковому в Unix-системах. (При этом, в отличие от подсистемы Windows for Linux, нет ни необходимости устанавливать дополнительные компоненты ОС, ни жёстких требований к новизне версии Windows).
В первую очередь, это оболочка bash
, которая поддерживает цвета и комбинации клавиш, а также сопутствующие программы из числа наиболее часто используемых в Linux (ls
, grep
, curl
, vim
, ssh
(!) и пр.) делают возможными многие привычные операции.