Примечания для разработчиков
Хотя фактическая установка XOOPS для использования в разработке аналогична нормальной установке, уже описанной ранее, существуют ключевые различия при создании системы, готовой для разработчика.
Одно большое различие в установке разработчика состоит в том, что вместо простого сосредоточения внимания на содержимом каталога htdocs, установка разработчика хранит все файлы и хранит их под контролем исходного кода с помощью git.
Еще одно различие заключается в том, что каталоги xoops_data и xoops_lib обычно могут остаться на месте без переименования, если только ваша система разработки не доступна напрямую в открытом Интернете (т.е. в частной сети, например, позади маршрутизатора).
Большинство разработчиков работают в системе localhost, которая имеет исходный код, стек веб-сервера и любые инструменты, необходимые для работы с кодом и базой данных.
Вы можете найти более подробную информацию в главе Инструменты ремесла.
Git и виртуальные хосты
Заголовок раздела «Git и виртуальные хосты»Большинство разработчиков хотят иметь возможность быть в курсе текущих источников и вносить изменения обратно в репозиторий XOOPS/XoopsCore27 на GitHub. Это означает, что вместо загрузки архива выпуска вы захотите разветвить копию XOOPS и использовать git для клонирования этого репозитория на вашу машину разработки.
Так как репозиторий имеет определенную структуру, вместо копирования файлов из каталога htdocs на веб-сервер, лучше указать веб-сервер на папку htdocs внутри вашего локально клонированного репозитория. Чтобы достичь этого, мы обычно создаем новый виртуальный хост или vhost, который указывает на наш контролируемый git исходный код.
В среде WAMP страница localhost по умолчанию имеет в разделе Tools ссылку на Add a Virtual Host, которая ведет сюда:

С помощью этого вы можете установить запись VirtualHost, которая будет указывать прямо на ваш (еще) контролируемый git репозиторий.
Вот пример записи в wamp64/bin/apache/apache2.x.xx/conf/extra/httpd-vhosts.conf
<VirtualHost *:80> ServerName xoops.localhost DocumentRoot "c:/users/username/documents/github/xoopscore27/htdocs" <Directory "c:/users/username/documents/github/xoopscore27/htdocs/"> Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride All Require local </Directory></VirtualHost>Вам также может потребоваться добавить запись в Windows/System32/drivers/etc/hosts:
127.0.0.1 xoops.localhostТеперь вы можете установить на http://xoops.localhost/ для тестирования, сохраняя при этом ваш репозиторий нетронутым, и держа веб-сервер внутри каталога htdocs с простым URL. Плюс, вы можете обновить вашу локальную копию XOOPS до последнего master в любое время без необходимости переустановки или копирования файлов. И вы можете вносить улучшения и исправления в код для внесения вклада в XOOPS через GitHub.
Зависимости Composer
Заголовок раздела «Зависимости Composer»XOOPS 2.7.0 использует Composer для управления своими PHP зависимостями. Дерево зависимостей живет в htdocs/xoops_lib/ внутри репозитория исходного кода:
composer.dist.json— это главный список зависимостей, поставляемых с выпуском.composer.json— это локальная копия, которую вы можете настроить для вашей среды разработки при необходимости.composer.lockфиксирует точные версии, поэтому установки воспроизводимы.vendor/содержит установленные библиотеки (Smarty 4, PHPMailer, HTMLPurifier, firebase/php-jwt, monolog, symfony/var-dumper, xoops/xmf, xoops/regdom и другие).
Для свежего клона git XOOPS 2.7.0, начиная с корня репозитория, запустите:
cd htdocs/xoops_libcomposer installОбратите внимание, что в корне репозитория нет composer.json — проект находится под htdocs/xoops_lib/, поэтому вы должны cd в этот каталог перед запуском Composer.
Тарболлы выпуска поставляются с предварительно заполненным vendor/, но клоны git могут и не иметь. Сохраняйте vendor/ нетронутым при установке разработки — XOOPS будет загружать свои зависимости оттуда во время выполнения.
Библиотека XMF (XOOPS Module Framework) поставляется как зависимость Composer в 2.7.0, поэтому вы можете использовать Xmf\Request, Xmf\Database\TableLoad и связанные классы в коде вашего модуля без каких-либо дополнительных установок.
Модуль DebugBar
Заголовок раздела «Модуль DebugBar»XOOPS 2.7.0 поставляется с модулем DebugBar на основе Symfony VarDumper. Он добавляет панель инструментов отладки к отрендеренным страницам, которая раскрывает информацию о запросе, базе данных и шаблонах. Установите его из области администратора Модулей на сайтах разработки и промежуточной среды. Не оставляйте его установленным на общедоступном производственном сайте, если вы не знаете, что вы это хотите.