Перейти до вмісту

Примітки для розробників

Хоча фактичне встановлення XOOPS для використання в розробці схоже на звичайне встановлення, яке вже було описано, існують ключові відмінності під час створення системи, готової для розробників.

Однією великою відмінністю в інсталяції розробника є те, що замість того, щоб зосереджуватися лише на вмісті каталогу htdocs, інсталяція розробника зберігає всі файли та зберігає їх під контролем вихідного коду за допомогою git.

Інша відмінність полягає в тому, що каталоги xoops_data і xoops_lib зазвичай можуть залишатися на місці без перейменування, доки ваша система розробки не доступна безпосередньо у відкритому Інтернеті (тобто в приватній мережі, наприклад, за маршрутизатором).

Більшість розробників працюють у системі localhost, яка має вихідний код, стек веб-сервера та будь-які інструменти, необхідні для роботи з кодом і базою даних.

Ви можете знайти більше інформації в розділі Інструменти торгівлі.

Більшість розробників хочуть мати можливість бути в курсі поточних джерел і вносити зміни до попередньої версії репозиторій XOOPS/XoopsCore27 на GitHub. Це означає, що замість того, щоб завантажувати архів випуску, ви захочете форкувати копію XOOPS і використовувати git, щоб клонувати це сховище у ваші розробники.

Оскільки репозиторій має особливу структуру, замість копіювання файлів із каталогу htdocs на ваш веб-сервер, краще вказати ваш веб-сервер на папку htdocs у вашому локально клонованому сховищі. Щоб досягти цього, ми зазвичай створюємо новий Virtual Host або vhost, який вказує на наш керований git вихідний код.

У середовищі WAMP сторінка localhost за умовчанням містить у розділі Інструменти посилання на Додати віртуальний хост, яке веде сюди:

WAMP Додати віртуальний хост

Використовуючи це, ви можете налаштувати запис 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.

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_lib
composer 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 та пов’язані з ними класів у вашому коді модуля без додаткового встановлення.

XOOPS 2.7.0 поставляє модуль DebugBar на основі Symfony VarDumper. Він додає панель інструментів налагодження до відтворених сторінок, яка надає інформацію про запит, базу даних і шаблон. Встановіть його з області адміністрування модулів на сайтах розробки та тестування. Не залишайте його встановленим на відкритому місці виробництва, якщо ви не знаєте, що цього хочете.