ข้ามไปยังเนื้อหา

หมายเหตุสำหรับนักพัฒนา

แม้ว่าการติดตั้ง XOOPS จริงสำหรับการพัฒนาจะคล้ายกับการติดตั้งปกติที่อธิบายไว้แล้ว แต่ก็มีความแตกต่างที่สำคัญเมื่อสร้างระบบที่พร้อมสำหรับนักพัฒนา

ความแตกต่างที่สำคัญอย่างหนึ่งในการติดตั้งของนักพัฒนาก็คือ แทนที่จะเน้นไปที่เนื้อหาของไดเร็กทอรี htdocs การติดตั้งของนักพัฒนาจะเก็บไฟล์ทั้งหมดไว้ และเก็บไว้ภายใต้การควบคุมซอร์สโค้ดโดยใช้ git

ข้อแตกต่างอีกประการหนึ่งก็คือ ไดเร็กทอรี xoops_data และ xoops_lib สามารถคงอยู่ได้โดยไม่ต้องเปลี่ยนชื่อ ตราบใดที่ระบบการพัฒนาของคุณไม่สามารถเข้าถึงได้โดยตรงบนอินเทอร์เน็ตแบบเปิด (เช่น บนเครือข่ายส่วนตัว เช่น หลังเราเตอร์)

นักพัฒนาส่วนใหญ่ทำงานบนระบบ localhost ซึ่งมีซอร์สโค้ด สแตกของเว็บเซิร์ฟเวอร์ และเครื่องมือใดๆ ที่จำเป็นในการทำงานกับโค้ดและฐานข้อมูล

คุณสามารถดูข้อมูลเพิ่มเติมได้ในบท เครื่องมือการค้า

นักพัฒนาส่วนใหญ่ต้องการติดตามข่าวสารล่าสุดเกี่ยวกับแหล่งที่มาปัจจุบัน และสนับสนุนการเปลี่ยนแปลงกลับไปยังพื้นที่เก็บข้อมูลอัปสตรีม XOOPS/XoopsCore27 บน GitHub ซึ่งหมายความว่า แทนที่จะดาวน์โหลดไฟล์เก็บถาวร Release คุณจะต้อง fork สำเนาของ XOOPS และใช้ git เพื่อ clone ที่เก็บข้อมูลนั้นไปยังกล่อง dev ของคุณ

เนื่องจากพื้นที่เก็บข้อมูลมีโครงสร้างเฉพาะ แทนที่จะเป็นไฟล์ copying จากไดเร็กทอรี htdocs ไปยังเว็บเซิร์ฟเวอร์ของคุณ จึงเป็นการดีกว่าที่จะชี้เว็บเซิร์ฟเวอร์ของคุณไปที่โฟลเดอร์ htdocs ภายในพื้นที่เก็บข้อมูลที่โคลนในเครื่องของคุณ เพื่อให้บรรลุเป้าหมายนี้ โดยทั่วไปเราจะสร้าง Virtual Host ใหม่ หรือ vhost ที่ชี้ไปยังซอร์สโค้ดที่ควบคุมด้วย git ของเรา

ในสภาพแวดล้อม WAMP หน้า [localhost] เริ่มต้น (http://localhost/) มีในส่วน Tools ลิงก์ไปยัง Add a Virtual Host ซึ่งนำไปสู่ที่นี่:

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 ในเครื่องของคุณให้เป็นเวอร์ชันต้นแบบล่าสุดได้ตลอดเวลาโดยไม่ต้องติดตั้งหรือคัดลอกไฟล์ใหม่ และคุณสามารถปรับปรุงและแก้ไขโค้ดเพื่อสนับสนุน XOOPS ผ่านทาง GitHub ได้

XOOPS 2.7.0 ใช้ ผู้แต่ง เพื่อจัดการการอ้างอิง 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 และอื่นๆ)

สำหรับโคลนคอมไพล์ใหม่ของ XOOPS 2.7.0 โดยเริ่มจากรูท repo ให้รัน:

cd htdocs/xoops_lib
composer install

โปรดทราบว่าไม่มี composer.json ที่ราก repo — โปรเจ็กต์อยู่ภายใต้ htdocs/xoops_lib/¤ ดังนั้นคุณต้อง cd ลงในไดเร็กทอรีนั้นก่อนที่จะรัน Composer

Release tarballs มาพร้อมกับ vendor/ ที่เติมไว้ล่วงหน้า แต่ git clone อาจไม่ รักษา vendor/ ไว้ครบถ้วนในการติดตั้งเพื่อการพัฒนา — XOOPS จะโหลดการอ้างอิงจากที่นั่นขณะรันไทม์

ไลบรารี XMF (XOOPS Module Framework) ไลบรารี่จัดส่งเป็นการพึ่งพา Composer ใน 2.7.0 ดังนั้นคุณสามารถใช้ Xmf\Request Xmf\Database\TableLoad และคลาสที่เกี่ยวข้องในโค้ดโมดูลของคุณโดยไม่ต้องติดตั้งเพิ่มเติม

XOOPS 2.7.0 จัดส่งโมดูล DebugBar ที่ใช้ Symfony VarDumper เพิ่มแถบเครื่องมือดีบักให้กับหน้าที่แสดงผลซึ่งเปิดเผยข้อมูลคำขอ ฐานข้อมูล และเทมเพลต ติดตั้งจากพื้นที่ผู้ดูแลระบบโมดูลบนไซต์การพัฒนาและการจัดเตรียม อย่าปล่อยให้ติดตั้งไว้บนไซต์การผลิตที่หันหน้าเข้าหาสาธารณะ เว้นแต่คุณจะรู้ว่าต้องการ