การใช้ Composer กับ WordPress

เผยแพร่แล้ว: 2022-06-30

WordPress มีมาตั้งแต่ปี 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 ของคุณได้อย่างไร