..
Мы начнем с объяснения того, что мы подразумеваем под динамической фильтрации.
С этим выражением мы имеем в виду, что механизм, чтобы сделать доступными для наших классов / скрипты фильтруются общие свойства, но по отношению к среде, в которой мы работаем (местный, испытание, производство).
Это общий механизм в Java, но не в PHP по той простой причине, что концепция развертывания, как это обычно понимается, не связано с нашим любимым языком. И "на самом деле довольно часто тестовые скрипты локально, а затем скопировать файлы через FTP на нашем тесте, или (что хуже) непосредственно на это производство.
На рабочем месте, однако, очень удобно иметь отфильтровываются автоматически в зависимости от свойств, что наше приложение должно выполняться в локальный или на других машинах (такие как интерфейс, подвергаться воздействию извне), поэтому в этой статье мы создадим единую структуру для реализации Такая логика в проект PHP наш гипотетический.
Для этого мы не будем использовать внешние пакеты или специальные абстракции, что нам нужно это XML, PHP класса и текстовых файлов.
Идея заключается в определении в XML-файл, чтобы наши общие свойства, создать файл для каждой среды для повышения их и написать код, который помещает все это вместе. Структура нашего тестового приложения будут:
Вот основные структуры:

Давайте посмотрим, как файл состоит из:
<? Xml версия = "1.0" кодирования = "UTF-8"?> <properties> <property name="__app_version" value="0.0.1" /> <property name="messaggio_variabile" value="" /> <property name="url_servizio_esterno" value="" /> <property name="local" value="localhost" /> <property name="test" value="test.qualchedominio.it" /> <property name="pro" value="prod.qualchedominio.it" /> </ Свойства>
Кроме обычных XML-теги определяют документ, который начинается контейнер теги <properties>, в которые мы вставляем набор тегов <property>, первые три из них, кто будет служить в примере, за последние три относятся к различным хост и служить PHP, чтобы понять какой среде мы работаем динамически.
Здесь мы Deine местной окружающей среды, тестирования и производства, но ничто не мешает вам определить другие, такие как разработчика.
Для каждого из номеров показан базовый URL-адрес, значение которого в соответствии с нашими требованиями, применение приложения.
В нашем случае мы имеем тестовой машине достигать 'test.qualchedominio.it URL и эксплуатационных скважин, конечно prod.qualchedominio.it, достигнутых на локальный.
Следующим шагом будет убедиться, что свойства, определенные в XML оцениваются по-разному в зависимости от "среды, в которой мы находимся. Мы используем для этой цели из текстовых файлов в папке фильтры, давайте посмотрим, содержимое один за другим:
; [LOCAL] Фильтр свойства messaggio_variabile = "Мы LOCAL" url_servizio_esterno = http://dev-servizio.esterno.it
; [ТЕСТ] Фильтр свойства messaggio_variabile = "Мы ТЕСТ" url_servizio_esterno = http://test-servizio.esterno.it
; [PRO] Фильтр свойства messaggio_variabile = "Мы ПРОИЗВОДСТВО" url_servizio_esterno = http://prod-servizio.esterno.itit
Обратите внимание, что имущество "__app_version", определенных в XML, она не переопределяется в разных файлах, то он будет трактоваться для всех целей в качестве общего имущества между различными средами и неизменной, так что не будут фильтроваться.
| |
Linux (курс)
Полное руководство по открытым исходным кодом системы. От 49 €. |
| |
MySQL (курс)
Управление с открытым исходным кодом базы данных. С 39 €. |
| |
PHP (курс)
Полный курс для создания динамических веб-сайтов. От 49 €. |