การใช้ Composer กับ WordPress
เผยแพร่แล้ว: 2022-06-30WordPress มีมาตั้งแต่ปี 2546 และกลายเป็นเครื่องมือเริ่มต้นสำหรับคนส่วนใหญ่ที่ต้องการเริ่มต้นเว็บไซต์ แม้ว่ามันจะมาไกลจากรากเหง้าของมันในฐานะเอ็นจิ้นบล็อก แต่เทคโนโลยีพื้นฐานไม่ได้ทำให้ประสบการณ์ของผู้ใช้ก้าวกระโดดแบบเดียวกับที่ผู้ใช้มี
การพัฒนา WordPress ยังคงวนเวียนอยู่กับมาตรฐานต่างๆ ที่มีอยู่ในปี 2546 แม้ว่าสิ่งนี้จะทำให้ผู้คนเข้าถึงได้ง่ายขึ้นเนื่องจากต้องใช้ความเข้าใจด้านเทคนิคที่ต่ำกว่า แต่ก็หมายความว่าทรัพยากรการพัฒนาใหม่จำนวนมากไม่สามารถทำงานร่วมกับ WordPress ได้ตั้งแต่แกะกล่อง
วันนี้ เราจะมาดูหนึ่งในเครื่องมือใหม่ที่เรียกว่า Composer มาดูกันว่าจะเข้ากับเวิร์กโฟลว์ WordPress ของคุณได้อย่างไร และอภิปรายว่าทำไมคุณถึงอยากลองใช้งาน
นักแต่งเพลงคืออะไร?
โค้ดที่คุณเขียนทุกบิตมีการพึ่งพา หากคุณกำลังเขียนปลั๊กอิน WordPress การพึ่งพาอาศัยกันที่ใหญ่ที่สุดของคุณคือ WordPress หากไม่มีฟังก์ชันหลักที่ WordPress มีให้ อาจเป็นไปได้ว่าปลั๊กอินของคุณไม่มีประโยชน์เลย นอกเหนือจาก WordPress เอง คุณอาจต้องการไคลเอ็นต์ SOAP ที่ทันสมัย เช่น nusoap เพื่อเชื่อมต่อกับ API ที่ใช้ SOAP
ในอดีต คนส่วนใหญ่เพียงแค่คัดลอกที่เก็บสำหรับ nusoap ลงในไดเร็กทอรีในปลั๊กอิน แล้วรวมไฟล์ที่จำเป็นต่อการใช้ไลบรารี นี่คือจุดที่ Composer สามารถก้าวเข้ามาและทำให้การจัดการการพึ่งพาของคุณง่ายขึ้น
นักแต่งเพลงเป็นผู้จัดการการพึ่งพา ได้รับการออกแบบมาโดยเฉพาะเพื่อให้ง่ายต่อการติดตั้งและจัดการการพึ่งพา สิ่งนี้อาจมีความสำคัญอย่างยิ่งหากคุณทำงานในทีมและต้องการให้แน่ใจว่าสมาชิกทุกคนในทีมใช้ไลบรารีเดียวกันในขณะที่พวกเขาทำงานพัฒนา
ที่ฐานของ Composer คือไฟล์ JSON ที่มีรายละเอียดเกี่ยวกับการพึ่งพาที่คุณได้ติดตั้งและเวอร์ชันของการพึ่งพาที่คุณต้องการใช้ คุณสามารถดูตัวอย่างพื้นฐานด้านล่างที่มีการพึ่งพา nusoap
{
"จำเป็นต้อง": {
“econea/nusoap”: “^0.9.10”
}
}
เมื่อฉันเรียกใช้ composer require econea/nusoap ในปลั๊กอินของฉัน มันจะติดตั้ง nusoap ให้ฉันและล็อกเป็นเวอร์ชันที่ระบุ ในกรณีนี้ ฉันใช้ 0.9.10 และจะใช้ต่อไปเว้นแต่ฉันจะบอกให้ Composer อัปเกรดการพึ่งพา
สิ่งนี้มีข้อดีมากกว่าแค่ดาวน์โหลดและรวม nusoap ด้วยเพราะฉันสามารถใช้ composer update เพื่ออัปเดตการขึ้นต่อกันทั้งหมดของฉันโดยไม่จำเป็นต้องไปดูว่ามีการอัปเดตหรือไม่ และดาวน์โหลดลงในโปรเจ็กต์ของฉันด้วยตนเอง นักแต่งเพลงเข้าควบคุมการจัดการทรัพยากรในระดับนี้
เริ่มต้นใช้งาน Composer
การติดตั้งผู้แต่งค่อนข้างตรงไปตรงมา
บน Windows
หากคุณใช้ Windows แสดงว่ามีโปรแกรมติดตั้งเพื่อลดความซับซ้อนของกระบวนการ จะติดตั้ง Composer เวอร์ชันล่าสุดและทำให้โครงการของคุณสามารถเข้าถึงได้ทั่วโลก
Linux/Unix/macOS
บนแพลตฟอร์มใดๆ เหล่านี้ คุณมีขั้นตอนเพิ่มเติมอีกสองสามขั้นตอนในการตั้งค่า Composer ในการเริ่มต้น ให้เรียกใช้คำสั่งที่จำเป็นในการดาวน์โหลด Composer และทำการตั้งค่า
php -r “copy('https://getcomposer.org/installer', 'composer-setup.php');”
php -r “if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27In63f46af1d4d07ee0'f76181c7d's ตรวจสอบแล้ว } อื่น ๆ { echo 'ตัวติดตั้งเสียหาย'; ยกเลิกการเชื่อมโยง ('composer-setup.php'); } echo PHP_EOL;”
php composer-setup.php
php -r “unlink('composer-setup.php');”
ต่อไป คุณจะต้องเรียกใช้ Composer ทั่วโลกสำหรับการพัฒนาในพื้นที่ ดังนั้นเราจะต้องปรับการติดตั้งเริ่มต้นเพื่อให้แน่ใจว่าจะพร้อมใช้งานได้ตลอดเวลาที่เราต้องการใช้ Composer คุณสามารถย้าย Composer ให้ใช้งานได้ทั่วโลกโดยใช้คำสั่งต่อไปนี้จากไดเร็กทอรีเดียวกับที่คุณเพิ่งดาวน์โหลด Composer
mv composer.phar /usr/local/bin/composer
อัพเกรดนักแต่งเพลง
บน Windows และ macOS สิ่งที่คุณต้องทำเพื่ออัปเกรดเป็น Composer เวอร์ชันล่าสุดคือเรียกใช้การอัพเดตตัวเองของตัวแต่ง หากคุณใช้ Linux/Unix คุณจะต้องเรียกใช้ sudo apt update && upgrade เพื่อให้ระบบของคุณตรวจสอบเวอร์ชันล่าสุด จากนั้นคุณสามารถเรียกใช้การอัพเดตตัวเองของผู้แต่งเพื่อรับเวอร์ชันล่าสุดได้
เมื่อคุณตั้งค่าเสร็จแล้ว มาดูการใช้ Composer เพื่อติดตั้ง WordPress กัน
ติดตั้ง WordPress ด้วย Composer
แล้วถ้าคุณต้องการจัดการทั้งไซต์ด้วย Composer? อันดับแรก คุณต้องตัดสินใจว่า WordPress เป็นการพึ่งพาโครงการหรือแกนหลักของโครงการหรือไม่ ใช่สมองบิดเล็กน้อย
WordPress ถือได้ว่าเป็นการพึ่งพาโครงการเพราะเป้าหมายสุดท้ายสำหรับลูกค้าของคุณคือไม่ต้องติดตั้ง WordPress พวกเขาต้องการร้านค้าหรือบล็อก ซึ่งขึ้นอยู่กับคุณติดตั้ง WordPress นี่คือจุดยืนที่โครงการอย่าง Roots ใช้การตั้งค่า Bedrock WordPress ที่เรียกว่า Bedrock
การใช้ Bedrock หมายความว่าคุณไม่จำเป็นต้องบอก Composer เกี่ยวกับ WPackagist เพราะมีการตั้งค่าไว้แล้ว เราแนะนำให้คุณเริ่มต้นหากคุณต้องการจัดการทั้งไซต์ด้วย Composer

ในการติดตั้ง Bedrock ให้รันคำสั่งต่อไปนี้
นักแต่งเพลง สร้างโปรเจ็กต์ รากฐาน/รากฐาน
สิ่งนี้จะให้โครงสร้างไฟล์ต่อไปนี้แก่คุณ
├── นักแต่งเพลง.json
├── .env
├── config
│ ├── application.php
│ └── สภาพแวดล้อม
│ ├── development.php
│ ├── staging.php
│ └── production.php
├── ผู้ขาย
└── เว็บ
├── แอพ
│ ├── mu-ปลั๊กอิน
│ ├── ปลั๊กอิน
│ ├── ธีม
│ └── อัพโหลด
├── wp-config.php
├── index.php
└── wp
ซึ่งแตกต่างจากการตั้งค่า WordPress มาตรฐานอย่างมาก ในการเริ่มต้น คุณมีไฟล์ composer.json ที่รูทของการติดตั้ง นี่คือที่ที่คุณจะเห็นการกำหนดค่า Composer ของคุณ
ไฟล์ .env เป็นที่ที่คุณสามารถจัดเก็บการกำหนดค่าฐานข้อมูลต่างๆ นี่เป็นสิ่งจำเป็นเนื่องจากไซต์ในพื้นที่ของคุณและไซต์ที่ใช้งานจริงของคุณจะมีรหัสผ่านฐานข้อมูลและชื่อผู้ใช้ที่แตกต่างกัน ไฟล์ wp-config.php เริ่มต้นจะเข้าใจตัวแปรที่คุณใส่ในไฟล์ .env ของคุณ เนื่องจาก Bedrock ใช้ตัวแปรเหล่านั้นแทนการเข้ารหัสอย่างหนักในข้อมูลการเชื่อมต่อฐานข้อมูล
คุณควรละเว้นไฟล์ .env ในที่เก็บ Git ของคุณ เมื่อคุณกำหนดค่าไซต์ใหม่ คุณจะต้องเพิ่ม .envfile ใหม่เข้าไปด้วยข้อมูลการกำหนดค่าฐานข้อมูลที่จำเป็น
มีตัวแปรอื่นๆ อีกสองสามตัวที่คุณต้องตั้งค่าที่นี่เพื่อเริ่มต้น Bedrock ซึ่งมีรายละเอียดทั้งหมดอยู่ในเอกสารประกอบ
ภายใต้โฟลเดอร์ config คือการกำหนดค่าเริ่มต้นที่แตกต่างกันสำหรับสภาพแวดล้อมที่คุณจะใช้ ในการพัฒนา การดำเนินการนี้จะเปิดการรายงานข้อผิดพลาด และในสภาพแวดล้อมการผลิตของคุณ จะทำให้แน่ใจว่าการบันทึกข้อผิดพลาดจะไม่รบกวนการทำงานที่ราบรื่นของไซต์ของคุณ
ด้วย Bedrock เป็นฐาน ตอนนี้คุณสามารถใช้ Composer เพื่อติดตั้งปลั๊กอิน WordPress ของคุณผ่าน WPackagist
WPackagist เป็นมิเรอร์ของธีม WordPress และที่เก็บปลั๊กอิน สิ่งนี้จำเป็นเพราะโดยค่าเริ่มต้นแล้ว ปลั๊กอินและธีมส่วนใหญ่ไม่มีให้ Composer ติดตั้ง มิเรอร์จะเพิ่มไฟล์ที่จำเป็นสำหรับแต่ละปลั๊กอินเพื่อให้ Composer สามารถใช้จัดการปลั๊กอินได้
หากคุณต้องการติดตั้ง WooCommerce ในการติดตั้ง WordPress แบบ Bedrock คุณต้องมี WooCommerce ก่อน ผู้แต่งต้องการ wpackagist-plugin/woocommerce จากนั้นคุณต้องบอกให้ Composer ติดตั้งการพึ่งพา การติดตั้งผู้แต่ง
ตอนนี้คุณสามารถไปที่ส่วนผู้ดูแลระบบของ WordPress เพื่อติดตั้งและเปิดใช้งาน WooCommerce และสร้างเว็บไซต์ของคุณ ในการอัปเดต WooCommerce เมื่อมีเวอร์ชันใหม่ออกมา หรือเพื่ออัปเดต WordPress คุณต้องเรียกใช้การอัปเดตผู้แต่ง
นี่คือจุดที่โปรเจ็กต์ที่ใช้ Composer อาจประสบปัญหาเล็กน้อย หากคุณเรียกใช้การอัปเดตผ่านผู้ดูแลระบบ WordPress คุณจะมีความไม่ตรงกันระหว่างสิ่งที่ Composer คาดหวังกับสิ่งที่ WordPress ได้ติดตั้งไว้ หากคุณกำลังจะใช้ Composer ให้ใช้เป็นเครื่องมืออัปเดตและไม่ทำงานผ่านผู้ดูแลระบบ WordPress
คุณควรใช้ Composer เมื่อใด
ฉันแน่ใจว่าหลายท่านถามว่าทำไม Composer ถึงเป็นเครื่องมือที่ยอดเยี่ยมสำหรับการพัฒนา WordPress WordPress ไม่ได้สร้างขึ้นโดยคำนึงถึง Composer ดังนั้นในการทำงานกับมัน คุณต้องก้าวข้ามอุปสรรคเพื่อให้ทำงานได้ดี
สำหรับนักพัฒนาปลั๊กอินและธีม มีกรณีที่ชัดเจนที่ Composer ช่วยให้จัดการกับการพึ่งพาที่คุณต้องนำเข้าจากระบบนิเวศ PHP ที่กว้างขึ้นได้ง่ายขึ้น สำหรับนักพัฒนา WordPress อาร์กิวเมนต์ไม่ชัดเจน บางคนชอบใช้ Composer เพื่อจัดการทั้งเว็บไซต์เหมือนที่ Roots ทำ สิ่งนี้สามารถช่วยให้คุณมีไฟล์ที่จัดการโดย Git น้อยลง แต่นั่นก็ไม่เคยดูเหมือนเป็นกรณีที่น่าสนใจสำหรับฉัน
กรณีที่ฉันชอบคือ Composer สามารถทำให้การพึ่งพาที่แตกต่างกันสำหรับสภาพแวดล้อมที่แตกต่างกันเป็นเรื่องง่าย จากนั้นคุณสามารถใช้กระบวนการปรับใช้ของคุณเพื่อปรับใช้การพึ่งพาเหล่านั้นในสภาพแวดล้อมของคุณและไม่ต้องจัดการด้วยตนเอง
ในฐานะนักพัฒนา คุณต้องคำนึงถึงความต้องการของลูกค้าด้วย หากพวกเขาไม่มีทีมพัฒนาคอยดูแลเว็บไซต์ในระยะยาว พวกเขาอาจประสบปัญหากับการติดตั้ง WordPress ที่ไม่ได้มาตรฐาน ในบางกรณี โฮสต์ของพวกเขาอาจบอกพวกเขาว่าไม่มีการสนับสนุนเนื่องจากไม่ได้ใช้วิธีปกติในการติดตั้งและใช้งาน WordPress เมื่อคุณให้บริการลูกค้า คุณจะต้องสร้างสมดุลระหว่างเทคโนโลยีเจ๋งๆ ที่คุณใช้กับสิ่งที่ลูกค้าสามารถจัดการได้ในระยะยาว
ด้วยเหตุผลนี้เพียงอย่างเดียว ฉันจึงไม่ได้ใช้ Composer ในโครงการไซต์ทั้งหมดของฉัน ลูกค้าของฉันกำลังจัดการพวกเขาทุกวันเป็นเวลาหลายปี และฉันไม่ต้องการสร้างอุปสรรคเพิ่มเติมใดๆ เราทั้งคู่ต้องการให้ไซต์ของพวกเขาทำงานได้อย่างราบรื่นในอีกหลายปีข้างหน้า
หากคุณต้องการอัพเกรดทักษะ PHP ของคุณด้วยเทคโนโลยีที่ทันสมัย คุณควรลองดูว่า Composer สามารถเข้ากับเวิร์กโฟลว์ WordPress ของคุณได้อย่างไร