0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Теги: php, git, xml, phing, backend, composer, shell-команды, функция echo, симлинки, создание симлинков на shared-папки после деплоя, маппер</p>
1
<p>Теги: php, git, xml, phing, backend, composer, shell-команды, функция echo, симлинки, создание симлинков на shared-папки после деплоя, маппер</p>
2
<p>Каждый день разработчики сталкиваются с огромным количеством монотонных задач. Это может быть сборка проекта, контроль качества, доставка изменений, подготовка окружения и так далее. На сегодняшний день существует огромное количество решений, которые позволяют автоматизировать некоторые из этих монотонных действий.</p>
2
<p>Каждый день разработчики сталкиваются с огромным количеством монотонных задач. Это может быть сборка проекта, контроль качества, доставка изменений, подготовка окружения и так далее. На сегодняшний день существует огромное количество решений, которые позволяют автоматизировать некоторые из этих монотонных действий.</p>
3
<p>Одним из таких инструментов является<strong>Phing</strong>, который может быть интересен как раз PHP-разработчикам, так как сам написан на PHP и позволяет расширять свой функционал.</p>
3
<p>Одним из таких инструментов является<strong>Phing</strong>, который может быть интересен как раз PHP-разработчикам, так как сам написан на PHP и позволяет расширять свой функционал.</p>
4
<p>Устанавливается<strong>Phing</strong>через<strong>composer</strong>. При этом достаточно легко конфигурируется при помощи<strong>XML</strong>.<a>Здесь</a>можно посмотреть пример конфигурации, осуществляющий сборку проекта.</p>
4
<p>Устанавливается<strong>Phing</strong>через<strong>composer</strong>. При этом достаточно легко конфигурируется при помощи<strong>XML</strong>.<a>Здесь</a>можно посмотреть пример конфигурации, осуществляющий сборку проекта.</p>
5
<p>На текущий момент<strong>Phing</strong>поддерживает<a>огромное количество задач</a>: например, копирование, удаление файлов, создание директорий, работа с<strong>git</strong>, а также вызов любой<strong>shell</strong>-команды напрямую. Даже если имеющийся набор возможностей окажется недостаточным,<strong>Phing</strong>позволяет расширять имеющийся функционал. Для этого можно создавать собственные задачи, реализующие требуемую вам последовательность команд, специальные типы данных, которыми могут оперировать ваши задачи, или мапперы, позволяющие модифицировать входные данные под ваши нужды.</p>
5
<p>На текущий момент<strong>Phing</strong>поддерживает<a>огромное количество задач</a>: например, копирование, удаление файлов, создание директорий, работа с<strong>git</strong>, а также вызов любой<strong>shell</strong>-команды напрямую. Даже если имеющийся набор возможностей окажется недостаточным,<strong>Phing</strong>позволяет расширять имеющийся функционал. Для этого можно создавать собственные задачи, реализующие требуемую вам последовательность команд, специальные типы данных, которыми могут оперировать ваши задачи, или мапперы, позволяющие модифицировать входные данные под ваши нужды.</p>
6
<p><a>Здесь</a>можно посмотреть инструкцию по тому, как можно создать собственную задачу. Представлен достаточно простой пример, выполняющий функцию<strong>echo</strong>, но вы можете изменить его и превратить в создание<strong>симлинков</strong>на<strong>shared</strong>-папки после деплоя (как это делает<strong>capistrano</strong>).</p>
6
<p><a>Здесь</a>можно посмотреть инструкцию по тому, как можно создать собственную задачу. Представлен достаточно простой пример, выполняющий функцию<strong>echo</strong>, но вы можете изменить его и превратить в создание<strong>симлинков</strong>на<strong>shared</strong>-папки после деплоя (как это делает<strong>capistrano</strong>).</p>
7
<p>А<a>здесь</a>приводится пример создания новых типов данных. Причем пример весьма полезный, так как показывает возможность выполнять подключение к базе данных проекта, что открывает огромные возможности. Например, разминка кэша под каждого активного пользователя после деплоя.</p>
7
<p>А<a>здесь</a>приводится пример создания новых типов данных. Причем пример весьма полезный, так как показывает возможность выполнять подключение к базе данных проекта, что открывает огромные возможности. Например, разминка кэша под каждого активного пользователя после деплоя.</p>
8
<p>И конечно же, при автоматизации многих процессов может понадобиться свой маппер, пример которого можно изучить<a>здесь</a>.</p>
8
<p>И конечно же, при автоматизации многих процессов может понадобиться свой маппер, пример которого можно изучить<a>здесь</a>.</p>
9
<p><em>Есть вопрос? Напишите в комментариях!</em></p>
9
<p><em>Есть вопрос? Напишите в комментариях!</em></p>
10
10