Теперь рассмотрим как это все работает
Теперь рассмотрим как это все работает. В начале (строки 4-6) мы объявили три константы: DEPLOY_DIR – имя папки, в которой будет размещен измененный файл (в данном примере – index. php); SRC_DIR – имя папки с исходным файом; DEPLOY_KEY – API-ключ. Затем мы написали операцию prepare (строки 8-13). Она сначала удаляет папку ${DEPLOY_DIR} со всем содержимым, и сразу же создает её заново. Такой подход гарантирует, что если мы решим изменить имя файла со страницей, то в папке deploy не останется файл со старым именем. И, самое интересное, операция copyfiles. Сначала мы создаем задачу копирования (тег copy, строка 17) и указываем какие файлы нужно скопировать (в данном случае это только один файл – index. php). После этого добавляем задачу filterchain (строки 21-25), т. е. создаем цепочку фильтров, которая будет применена к каждому копируемому файлу. Чтобы заменить ключ нам хватит всего одного фильтра, который выполнит замену на основе регулярного выражения (строки 22-24). Фильтр создаем с помощью тегов replaceregexp и regexp.
Для regexp нужно задать параметры в атрибутах: pattern – регулярное выражение; replace – текст на который будет заменен результат поиска. Вот и все, теперь с помощью этого build файла мы сможем изменять ключ буквально одним нажатием кнопки. Примечание. Последняя операция сама по себе ничего не делает, а просто запускает предыдущие. Кстати, есть ещё одно преимущество такого подхода. Т. к. Phing копирует файл с новым ключом в отдельную папку, то ваша локальная версия страницы остается в рабочем состоянии. Представьте сколько времени можно сэкономить если вам нужно заниматься поддержкой страниц с такими картами на десятке разных доменов Удачи! Интересно почитать. Оригинальные и очень красивые отделочные материалы – РБО и сайдинг бамбуковый. Создаем собственный микроклимат с помощью BIOCLIMATIC.