Tovább a tartalomhoz

Megjegyzések fejlesztőknek

Míg a XOOPS fejlesztési használatra való tényleges telepítése hasonló a már leírt normál telepítéshez, a fejlesztőre kész rendszer felépítése során lényeges különbségek vannak.

Az egyik nagy különbség a fejlesztői telepítésben az, hogy ahelyett, hogy csak a htdocs könyvtár tartalmára összpontosítana, a fejlesztői telepítés megtartja az összes fájlt, és a git segítségével forráskód-vezérlés alatt tartja őket.

Egy másik különbség az, hogy a xoops_data és xoops_lib könyvtárak általában a helyükön maradhatnak átnevezés nélkül, mindaddig, amíg a fejlesztői rendszer nem érhető el közvetlenül a nyílt interneten (azaz magánhálózaton, például útválasztó mögött).

A legtöbb fejlesztő egy localhost rendszeren dolgozik, amely rendelkezik a forráskóddal, egy webszerver veremmel és minden olyan eszközzel, amely a kóddal és az adatbázissal való munkához szükséges.

További információkat a Tools of the Trade fejezetben talál.

A legtöbb fejlesztő szeretne naprakészen tartani az aktuális forrásokat, és hozzájárulni a változtatásokhoz az upstream XOOPS/XOOPSCore27 adattárhoz a GitHubon. Ez azt jelenti, hogy a kiadási archívum letöltése helyett érdemes fork a XOOPS másolatát használni, és a git használatával klónozni azt a tárolót a fejlesztői dobozba.

Mivel a lerakatnak sajátos szerkezete van, ahelyett, hogy a htdocs könyvtárból a webszerverre másolna fájlokat, jobb, ha a webszervert a helyileg klónozott lerakaton belüli htdocs mappába irányítja. Ennek elérése érdekében általában létrehozunk egy új Virtual Host vagy vhost-t, amely a git által vezérelt forráskódunkra mutat.

Egy WAMP környezetben az alapértelmezett localhost oldal Eszközök részében egy hivatkozás található a Add a Virtual Host linkre, amely ide vezet:

WAMP Virtuális gazdagép hozzáadása

Ezzel beállíthat egy VirtualHost bejegyzést, amely közvetlenül a (még mindig) git által vezérelt adattárba kerül.

Íme egy példabejegyzés a wamp64/bin/apache/apache2.x.xx/conf/extra/httpd-vhosts.conf-ban

<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>

Előfordulhat, hogy egy bejegyzést is hozzá kell adnia a Windows/System32/drivers/etc/hosts-ban:

127.0.0.1 xoops.localhost

Most már telepítheti a http://xoops.localhost/-t tesztelés céljából, miközben érintetlenül hagyja a tárat, és a webszervert a htdocs könyvtáron belül tartja egy egyszerű URL segítségével. Ezenkívül bármikor frissítheti a XOOPS helyi példányát a legújabb mesterre anélkül, hogy újra kellene telepítenie vagy másolnia kellene a fájlokat. A kódon pedig fejlesztéseket és javításokat hajthat végre, hogy hozzájáruljon a XOOPS-hoz a GitHubon keresztül.

A XOOPS 2.7.0 a Composer segítségével kezeli PHP függőségeit. A függőségi fa a htdocs/xoops_lib/-ban található a forrástáron belül:

  • A composer.dist.json a kiadással együtt szállított függőségek fő listája.
  • A composer.json a helyi másolat, amelyet szükség esetén testre szabhat a fejlesztői környezethez.
  • A composer.lock pontos verziókat rögzít, így a telepítések reprodukálhatók.
  • A vendor/ tartalmazza a telepített könyvtárakat (Smarty 4, PHPMailer, HTMLPurifier, firebase/php-jwt, monológ, symfony/var-dumper, xoops/xmf, QZX0, PHPZ00000067HPXZQ és egyebek).

A XOOPS 2.7.0 friss git klónjához a repo gyökértől kezdve futtassa:

cd htdocs/xoops_lib
composer install

Vegye figyelembe, hogy a repo gyökérben nincs composer.json – a projekt htdocs/xoops_lib/ alatt él, ezért a Composer futtatása előtt cd-t kell beírnia abba a könyvtárba.

A kiadási tarballok előre feltöltött vendor/-val kerülnek szállításra, de a git klónok nem feltétlenül. A vendor/ érintetlen maradjon a fejlesztési telepítéseknél — A XOOPS onnan tölti be függőségeit futás közben.

A XMF (XOOPS module Framework) könyvtárat a 2.7.0-s verzióban Composer-függőségként szállítjuk, így használhatja a XMF\RequestQZ0,QZXPHHZ0 osztályokat a modul kódjában további telepítés nélkül.

DebugBar modulA XOOPS 2.7.0 Symfony VarDumper alapú DebugBar modult szállít. Hibakereső eszköztárat ad a megjelenített oldalakhoz, amely felfedi a kéréseket, az adatbázisokat és a sablonokat. Telepítse a modulok adminisztrátori területéről a fejlesztési és állomáshelyi webhelyeken. Ne hagyja nyilvános gyártási helyen telepítve, hacsak nem tudja, hogy ezt akarja.

Szekció neve “DebugBar modulA XOOPS 2.7.0 Symfony VarDumper alapú DebugBar modult szállít. Hibakereső eszköztárat ad a megjelenített oldalakhoz, amely felfedi a kéréseket, az adatbázisokat és a sablonokat. Telepítse a modulok adminisztrátori területéről a fejlesztési és állomáshelyi webhelyeken. Ne hagyja nyilvános gyártási helyen telepítve, hacsak nem tudja, hogy ezt akarja.”