Примітки для розробників
Хоча фактичне встановлення XOOPS для використання в розробці схоже на звичайне встановлення, яке вже було описано, існують ключові відмінності під час створення системи, готової для розробників.
Однією великою відмінністю в інсталяції розробника є те, що замість того, щоб зосереджуватися лише на вмісті каталогу htdocs, інсталяція розробника зберігає всі файли та зберігає їх під контролем вихідного коду за допомогою git.
Інша відмінність полягає в тому, що каталоги xoops_data і xoops_lib зазвичай можуть залишатися на місці без перейменування, доки ваша система розробки не доступна безпосередньо у відкритому Інтернеті (тобто в приватній мережі, наприклад, за маршрутизатором).
Більшість розробників працюють у системі localhost, яка має вихідний код, стек веб-сервера та будь-які інструменти, необхідні для роботи з кодом і базою даних.
Ви можете знайти більше інформації в розділі Інструменти торгівлі.
Git і віртуальні хости
Section titled “Git і віртуальні хости”Більшість розробників хочуть мати можливість бути в курсі поточних джерел і вносити зміни до попередньої версії репозиторій XOOPS/XoopsCore27 на GitHub. Це означає, що замість того, щоб завантажувати архів випуску, ви захочете форкувати копію XOOPS і використовувати git, щоб клонувати це сховище у ваші розробники.
Оскільки репозиторій має особливу структуру, замість копіювання файлів із каталогу htdocs на ваш веб-сервер, краще вказати ваш веб-сервер на папку htdocs у вашому локально клонованому сховищі. Щоб досягти цього, ми зазвичай створюємо новий Virtual Host або vhost, який вказує на наш керований git вихідний код.
У середовищі WAMP сторінка localhost за умовчанням містить у розділі Інструменти посилання на Додати віртуальний хост, яке веде сюди:

Використовуючи це, ви можете налаштувати запис 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 Залежності
Section titled “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/, тому перед запуском Composer потрібно ввести cd у цей каталог.
Архіви випуску постачаються з попередньо заповненим vendor/, але клони git можуть ні. Зберігайте vendor/ недоторканим під час встановлення розробки — XOOPS завантажуватиме свої залежності звідти під час виконання.
Бібліотека [XMF (XOOPS Module Framework)] (https://github.com/XOOPS/xmf) постачається як залежність Composer у версії 2.7.0, тому ви можете використовувати Xmf\Request, Xmf\Database\TableLoad та пов’язані з ними класів у вашому коді модуля без додаткового встановлення.
Модуль DebugBar
Section titled “Модуль DebugBar”XOOPS 2.7.0 поставляє модуль DebugBar на основі Symfony VarDumper. Він додає панель інструментів налагодження до відтворених сторінок, яка надає інформацію про запит, базу даних і шаблон. Встановіть його з області адміністрування модулів на сайтах розробки та тестування. Не залишайте його встановленим на відкритому місці виробництва, якщо ви не знаєте, що цього хочете.