Uwagi dla programistów
Choć faktyczna instalacja XOOPS do celów programistycznych jest podobna do już opisanej normalnej instalacji, istnieją kluczowe różnice podczas tworzenia systemu gotowego do programowania.
Jedną z dużych różnic w instalacji dewelopera jest to, że zamiast skupiania się na zawartości katalogu htdocs, instalacja dewelopera zachowuje wszystkie pliki i utrzymuje je pod kontrolą kodu źródłowego za pomocą git.
Kolejną różnicą jest to, że katalogi xoops_data i xoops_lib mogą zwykle pozostać na miejscu bez zmiany nazwy, o ile system programistyczny nie jest bezpośrednio dostępny w Internecie (tj. w sieci prywatnej, takiej jak za routerem.)
Większość programistów pracuje na systemie localhost, który zawiera kod źródłowy, stos serwera WWW i wszelkie narzędzia potrzebne do pracy z kodem i bazą danych.
Więcej informacji można znaleźć w rozdziale Narzędzia zawodu.
Git i wirtualne hosty
Dział zatytułowany „Git i wirtualne hosty”Większość programistów chce być w stanie być na bieżąco z bieżącymi źródłami i wnieść zmiany z powrotem do repozytorium XOOPS/XoopsCore27 na GitHub. Oznacza to, że zamiast pobierać archiwum wersji, będziesz chciał fork kopię XOOPS i użyć git do sklonowania tego repozytorium na swój dev box.
Ponieważ repozytorium ma określoną strukturę, zamiast kopiowania plików z katalogu htdocs na serwer internetowy, lepiej jest wskazać serwer internetowy w folderze htdocs wewnątrz lokalnie sklonowanego repozytorium. Aby to zrobić, zwykle tworzymy nowy Virtual Host, lub vhost, który wskazuje na kod źródłowy kontrolowany przez git.
W środowisku WAMP, domyślna strona localhost ma w sekcji Tools link do Add a Virtual Host, który prowadzi tutaj:

Korzystając z tego, możesz skonfigurować wpis VirtualHost, który będzie bezpośrednio w twoim (nadal) kontrolowanym przez git repozytorium.
Oto przykładowy wpis w 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>Może być również konieczne dodanie wpisu w Windows/System32/drivers/etc/hosts:
127.0.0.1 xoops.localhostTeraz możesz zainstalować na http://xoops.localhost/ do testowania, zachowując jednocześnie integrację repozytorium i utrzymując serwer internetowy wewnątrz katalogu htdocs za pomocą prostego adresu URL. Ponadto możesz aktualizować lokalną kopię XOOPS do najnowszego mastera w dowolnym momencie bez konieczności ponownej instalacji lub kopiowania plików. A możesz wnosić ulepszenia i poprawki do kodu, aby przyczynić się do XOOPS za pośrednictwem GitHub.
Zależności Composer
Dział zatytułowany „Zależności Composer”XOOPS 2.7.0 używa Composer do zarządzania swoimi zależnościami PHP. Drzewo zależności znajduje się w htdocs/xoops_lib/ wewnątrz repozytorium źródłowego:
composer.dist.jsonto główna lista zależności dostarczonych z wydaniem.composer.jsonto lokalna kopia, którą możesz dostosować do swojego środowiska programistycznego w razie potrzeby.composer.lockprzyczepia dokładne wersje, aby instalacje były powtarzalne.vendor/zawiera zainstalowane biblioteki (Smarty 4, PHPMailer, HTMLPurifier, firebase/php-jwt, monolog, symfony/var-dumper, xoops/xmf, xoops/regdom i inne).
W przypadku świeżego klonu git XOOPS 2.7.0, począwszy od katalogu głównego repozytorium, uruchom:
cd htdocs/xoops_libcomposer installPamiętaj, że w głównym katalogu repozytorium nie ma composer.json — projekt znajduje się w htdocs/xoops_lib/, więc przed uruchomieniem Composer’a musisz cd do tego katalogu.
Wydane tarballs zawierają wstępnie wypełniony vendor/, ale klony git mogą go nie zawierać. Zachowaj vendor/ w instalacjach programistycznych — XOOPS będzie ładować swoje zależności stamtąd w czasie wykonywania.
Biblioteka XMF (XOOPS Module Framework) jest dostarczana jako zależność Composer w wersji 2.7.0, więc możesz używać Xmf\Request, Xmf\Database\TableLoad i powiązanych klas w kodzie modułu bez dodatkowej instalacji.
Moduł DebugBar
Dział zatytułowany „Moduł DebugBar”XOOPS 2.7.0 zawiera moduł DebugBar oparty na Symfony VarDumper. Dodaje pasek narzędzi debugowania do renderowanych stron, który ujawnia informacje o żądaniach, bazach danych i szablonach. Zainstaluj go z obszaru administracyjnego modułów w serwisach programistycznych i przejściowych. Nie pozostawiaj go zainstalowanego na publicznej stronie produkcyjnej, chyba że wiesz, że tego chcesz.