กดปุ่มนี้: ปริศนาความเข้ากันได้ย้อนหลังกับ WP-CLI ที่มี Alain Schlesser

เผยแพร่แล้ว: 2022-05-17

ยินดีต้อนรับสู่ Press This พอดคาสต์ชุมชน WordPress จาก WMR โฮสต์ David Vogelpohl อยู่ที่นี่พร้อมกับแขกจากทั่วชุมชนเพื่อพูดคุยเกี่ยวกับปัญหาที่ใหญ่ที่สุดที่นักพัฒนา WordPress กำลังเผชิญ ต่อไปนี้เป็นการถอดความจากการบันทึกต้นฉบับ

ขับเคลื่อนโดย RedCircle

David Vogelpohl: สวัสดีทุกคนและยินดีต้อนรับสู่ Press This the WordPress community podcasts on WMR นี่คือโฮสต์ของคุณ David Vogelpohl ฉันสนับสนุนชุมชน WordPress ผ่านบทบาทของฉันที่ WP Engine และฉันชอบที่จะนำเสนอสิ่งที่ดีที่สุดของชุมชนให้คุณได้ยินทุกสัปดาห์ในการกดนี้เพื่อเป็นการเตือนความจำ คุณสามารถหาฉันได้บน Twitter @wpdavidv หรือสมัครรับข่าวสารทาง iTunes, iHeartRadio, Spotify หรือดาวน์โหลดตอนล่าสุดได้ที่ wmr.fm ในตอนนี้ เราจะพูดถึงตัวเชื่อมต่อความเข้ากันได้แบบย้อนกลับกับ WP CLI และการเข้าร่วมการสนทนาครั้งนี้คือผู้ที่รู้จัก WP CLI ค่อนข้างน้อย เราเป็นผู้สนับสนุน WP CLI ของ XMPP ฉันขอต้อนรับ Alain Schlesser Alain ยินดีต้อนรับสู่ Press This

แลง ชเลสเซอร์: เดวิด สวัสดี ดีมากที่ได้อยู่ที่นี่

DV: ดีใจที่มีคุณ นี่เป็นอย่างน้อยครั้งที่สองของคุณในรายการนี้ เราได้ถามคำถามคุณเกี่ยวกับ WP CLI ตลอดหลายปีที่ผ่านมา และฉันก็ดีใจที่มีคุณอยู่ สำหรับผู้ที่ฟัง WP CLI เป็นส่วนสำคัญของระบบนิเวศของ WordPress โดยเฉพาะอย่างยิ่งเกี่ยวกับระบบอัตโนมัติและเวิร์กโฟลว์และแง่มุมอื่น ๆ ของ WordPress บิลด์ และสิ่งที่เรากำลังจะกล่าวถึงในวันนี้คือความคิดเกี่ยวกับความสำเร็จของ BPCL AI ในปีที่ผ่านมา การเปลี่ยนแปลงความเข้ากันได้แบบย้อนหลังมีอะไรรออยู่ข้างหน้า คุณทราบดีว่าความเข้ากันได้แบบย้อนหลังเป็นส่วนสำคัญของประโยชน์ของ WordPress แต่ยังเป็นความท้าทายของนักพัฒนาซอฟต์แวร์ และแน่นอนว่าปัญหาเหล่านี้ได้รับการแก้ไขอย่างไร และสิงโตก็แบ่งปันวิธีที่คุณสามารถมีส่วนร่วมใน WP CLI ได้ในตอนท้าย ดังนั้นฉันจึงตั้งหน้าตั้งตารอการสัมภาษณ์จริงๆ ฉันจะถามคำถามเดียวกับคุณ ฉันถามแขกทุกคนและเคยถามคุณมาก่อนแล้ว แต่อยากให้คุณบอกอีกครั้งถ้าทำได้ คุณช่วยบอกฉันเกี่ยวกับเรื่องราวที่มาของ WordPress ได้ไหม คุณใช้ WordPress เป็นครั้งแรกเมื่อใด

AS: อืม เรื่องราวดั้งเดิมของฉันก็เหมือนกับเรื่องราวของ WordPress ส่วนใหญ่เริ่มต้นด้วยทางอ้อมเล็กๆ ฉันทำงานเป็นเจ้าหน้าที่ของรัฐในลักเซมเบิร์ก และเมื่อถึงจุดหนึ่งฉันก็เบื่อกับการเมืองทุกอย่าง ฉันต้องการทำอย่างอื่นด้วยชีวิตของฉันและลองประกอบอาชีพอื่น และฉันตัดสินใจทำการพัฒนาฟรีแลนซ์ เพราะว่าฉันเคยทำการพัฒนามาก่อนแล้ว แต่ไม่เคยทำในฐานะนักแปลอิสระ และเมื่อถึงเวลาที่ต้องตัดสินใจว่าจะเน้นไปที่อะไรจริง ๆ ฉันแค่ดูว่ามีอะไรอยู่ข้างนอกและอะไรที่มีส่วนแบ่งการตลาดสูงสุดในแต่ละครั้ง ที่เกิดขึ้นเป็น WordPress อย่างที่เราทุกคนรู้ และฉันเพิ่งเริ่มต้นด้วยการพัฒนา WordPress เพราะฉันคิดว่ามันจะเป็นวิธีที่ง่ายที่สุดในการรับลูกค้าในฐานะนักแปลอิสระมือใหม่ที่เริ่มต้นจาก 0

DV: ฉันเลือก WordPress เป็นแพลตฟอร์มที่เลือกด้วยเหตุผลเดียวกับที่ฉันจำเอเจนซี่ที่ยอดเยี่ยมระหว่าง Drupal กับ WordPress และฉันคิดว่าตอนนั้น Drupal เป็นตัวเลือกที่ถูกต้อง แต่มันไม่ใช่สิ่งที่ผู้คนพูดถึงเรื่องอย่าง โอ้ แต่นี่คือปี 2010 ที่จุดสูงสุดของประเภทโพสต์ที่กำหนดเองและฟิลด์เมตา และฉันแค่สงสัยว่าเมื่อคุณตัดสินใจเรื่องนี้ในปีใดที่ผู้ฟังคร่าวๆ

AS: อืม นั่นคือปี 2014 บางปี 2014 และฉันคิดว่า WordPress อยู่ที่ประมาณเวอร์ชัน 332 หรืออะไรทำนองนั้น ฉันไม่แน่ใจว่าจะซื่อสัตย์

DV: ดังนั้น สำหรับคุณในฐานะนักพัฒนาอิสระ ประโยชน์ของไซต์โพสต์แบบกำหนดเองได้รับการเผยแพร่แล้ว ดังนั้นคุณจึงเดินเข้าไปในระบบนิเวศนี้และเห็นความสามารถเหล่านั้น WP CLI ยังอยู่ห่างออกไปอีกสองปี ดังนั้น ฉันเดาว่ามันไม่ได้ตอบทุกสิ่งที่คุณต้องการในฐานะนักพัฒนาอย่างสมบูรณ์ แต่เป็นการดีที่ได้เห็นคุณจัดการโครงการนั้นในตอนนี้ ตอนนี้ เข้าใจว่าคุณทำงานกับ XMPP และเรากำลังบอกฉันว่า XMPP ทำอะไรและคุณทำอะไรที่นั่น

AS : ดังนั้น X Delta P เป็นหน่วยงานที่มุ่งเน้นโครงการ WordPress ระดับองค์กรที่มีประสิทธิภาพสูง จุดสนใจหลักอยู่ที่ประสิทธิภาพ ไม่เพียงแต่ในแง่ของความเร็วในการโหลดไซต์เท่านั้น แต่ยังรวมถึงความสอดคล้องกับธุรกิจของคุณด้วย ฉันทำงานกับ XWP มาเป็นเวลาสองปีครึ่งแล้ว และในช่วงเวลานั้น ฉันได้ทำงานกับปลั๊กอิน amfa WordPress และประสบการณ์หน้าสำหรับปลั๊กอิน WordPress ร่วมกัน

DV: ดูเหมือนโครงการ MIDI ฉันคุ้นเคยกับพวกเขาอย่างแน่นอน ฉันยังไม่เคยใช้ WordPress ฉันยังไม่เคยเล่นบนหน้าเพจ และฉันรู้ว่าคุณรู้ว่า XMPP เรามีคนไม่กี่คนจาก XMPP ที่กดสิ่งนี้ พวกเขาทำโครงการที่ยอดเยี่ยมจริงๆ ดูเหมือนว่าคุณจะได้ทำงานกับสิ่งที่เจ๋งที่สุด และที่ยอดเยี่ยม สัมพันธ์กับหัวข้อของเราสำหรับการแสดง แต่วันนี้ WP CLI จากระดับสูง สมมติว่ามีผู้ฟังบางคนที่ไม่รู้ว่า WP CLI คืออะไร ฉันสงสัยว่าคุณจะจัดกรอบมันขึ้นมาเพื่อที่พวกเขาจะได้เข้าใจว่า WP CLI คืออะไร เป็น.

AS: ใช่แน่นอน ดังนั้น WordPress จึงมีผู้ดูแลระบบแบ็คเอนด์ที่คุณทำการบำรุงรักษาไซต์ทั้งหมดที่คุณทำการเปลี่ยนแปลงที่คุณกำหนดค่าตัวเลือกต่างๆ และ WP CLI เป็นอินเทอร์เฟซอื่นสำหรับควบคุมไซต์ WordPress ของคุณ เป็นอินเทอร์เฟซที่คุณสามารถใช้ได้จากบรรทัดคำสั่ง ดังนั้นคุณจึงพิมพ์คำสั่งในรูปแบบข้อความเพื่อควบคุมไซต์ของคุณ ช่วยให้คุณสามารถทำทุกอย่างที่ผู้ดูแลระบบแบ็กเอนด์ทำและอื่น ๆ และด้วยการใช้บรรทัดคำสั่งที่เกิดขึ้นเป็นอินเทอร์เฟซที่แสดงออกมากกว่าแบ็กเอนด์ของผู้ดูแลระบบ คุณสามารถแก้ปัญหามากมายที่เฉพาะเจาะจงกับกรณีการใช้งานของคุณซึ่งไม่มีองค์ประกอบส่วนต่อประสานผู้ใช้ที่สร้างไว้ล่วงหน้าในส่วนหลังของผู้ดูแลระบบ จบ. คุณสามารถผสมและจับคู่คำสั่ง WP CLI เพื่อแก้ปัญหาเหล่านี้ได้ทุกที่ จากนั้นในขั้นต่อไป อะไรก็ตามที่คุณสามารถทำได้ด้วย WP CLI คุณยังสามารถใส่มันลงในสคริปต์และท้ายที่สุด ดังนั้นคุณสามารถทำให้กระบวนการจัดการของคุณเป็นไปโดยอัตโนมัติ และคุณสามารถดำเนินการจากระยะไกลได้ การไปที่อินเทอร์เฟซแบบข้อความจึงมีประสิทธิภาพมาก และ WP CLI ช่วยให้คุณทำสิ่งนี้ได้ด้วย WordPress

DV: ว้าว นั่นช่างสง่างามจริงๆ ฉันคิดว่าคุณมีอาชีพอื่นในด้านการตลาดเพียงอย่างเดียว นั่นเป็นวิธีที่ดีมากในการจัดเฟรม VCI และอย่าลืมอธิบายว่ามันดีมาก โอเค ในความเห็นของฉัน และฉันมี แผ่นโกงเล็กๆ น้อยๆ สำหรับไทม์ไลน์ของช่วงเวลาสำคัญๆ ในประวัติของ WordPress ที่ฉันใช้เมื่อได้ยินเรื่องราวที่มาของผู้คนที่ชอบถามพวกเขาว่าพวกเขาเข้ามาเมื่อไหร่ และเกิดอะไรขึ้นที่ เวลา. และ WP CLI ก็เป็นหนึ่งในช่วงเวลาสำคัญในประวัติศาสตร์ WordPress ที่ฉันพูดถึงที่นี่ ย้อนกลับไปในปี 2016 ในมุมมองไทม์ไลน์ ฉันยังคงรักษามันไว้ ฉันจึงคิดว่ามันสำคัญมาก และฉันรู้ว่าคุณรู้ว่ามีแรงผลักดันนี้เพื่อให้มีการเปิดตัวคุณลักษณะและความสามารถมากขึ้นเรื่อย ๆ แต่ฉันแค่สงสัยญาติชอบพูดว่าชุดของรีลีสล่าสุดที่สัมพันธ์กับฟีเจอร์หรือการปรับโครงสร้างใหม่หรืออะไรก็ตาม สิ่งที่คุณตื่นเต้นที่สุดในรีลีสล่าสุดคืออะไร ?

AS: ดังนั้นคุณลักษณะที่น่าตื่นเต้นอย่างหนึ่งคือการเพิ่มบริบททั่วโลกที่เรามีตั้งแต่สร้าง YouTube ขึ้น จึงมีการอภิปรายเกี่ยวกับบริบทที่เครื่องมือควรดำเนินการอยู่เสมอ ว่าควรดำเนินการเป็นกระบวนการส่วนหน้าหรือกระบวนการของผู้ดูแลระบบหรืออะไรก็ตาม ในระหว่าง. และวิธีการทั้งหมดมักมาพร้อมกับชุดปัญหาของตัวเอง ดังนั้นจึงไม่เคยมีวิธีแก้ปัญหาที่สะอาดจริงๆ และวิธีที่ CLI ดำเนินการตามค่าเริ่มต้นคือส่วนผสมที่แปลกประหลาดซึ่งไม่ใช่กระบวนการของผู้ดูแลระบบหรือส่วนหน้า ด้วยเหตุผลทางประวัติศาสตร์ แต่นั่นหมายความว่ากระบวนการบางอย่างที่ตรวจสอบว่าคำขอปัจจุบันเป็นคำขอของผู้ดูแลระบบหรือไม่ ตัวอย่างเช่น พวกเขาจะล้มเหลวโดยอัตโนมัติ สิ่งนี้เกิดขึ้นอย่างฉาวโฉ่ที่สุดกับปลั๊กอินและธีมระดับพรีเมียมเมื่อคุณเรียกใช้การอัปเดต โดยปกติ คุณจะเห็นการอัปเดตเหล่านั้นทำงานในแบ็กเอนด์ของผู้ดูแลระบบ แต่ด้วย WP CLI ผู้ดูแลระบบไม่ใช่การอัปเดตที่มองเห็นได้ หรือไม่ทำงานตามที่คาดไว้ นั่นเป็นเพราะว่าลอจิกแบบกำหนดเองที่จัดการการอัปเดตเหล่านี้สำหรับปลั๊กอินแต่ละตัว พวกเขาตรวจสอบกระบวนการของผู้ดูแลระบบเพื่อไม่ให้ส่วนหน้าช้าลง และดำเนินการ WP CLI โดยอัตโนมัติ ด้วยแฟล็กบริบทใหม่นี้ เราจึงสามารถเลือกบริบทที่ต้องการเรียกใช้ และให้คุณเปลี่ยนบริบทเป็นบริบทของผู้ดูแลระบบได้ ตัวอย่างเช่น เมื่อคุณอัปเดตปลั๊กอิน จากนั้นการผสานรวมแบบพรีเมียมทั้งหมดจะทำงานตามที่คาดไว้ นี่เป็นเรื่องที่น่าตื่นเต้นมาก ขออภัย นี่ไม่ใช่คุณสมบัติใหม่ที่น่าตื่นเต้นอย่างที่เคยเป็นมา สร้างขึ้นโดยความร่วมมือกับ cloudways โดยที่เรากำลังทดสอบอยู่ในระยะที่ไม่ได้เปิดไว้โดยค่าเริ่มต้น ดังนั้นคุณจำเป็นต้องตั้งค่าอัตโนมัตินี้ด้วยตนเองจึงจะกลายเป็นค่าเริ่มต้นในการทำซ้ำครั้งต่อไป

DV: ยอดเยี่ยม ยอดเยี่ยม ฉันเห็นได้ว่าทำไมคุณถึงตื่นเต้นกับเรื่องนั้น และฉันคิดว่ามันฉลาดจริงๆ ที่คุณคิดแบบว่า โอเค จะมี front end หรือ admin ไหม แต่จริงๆ แล้ว การให้ผู้พัฒนามีตัวเลือกให้คุณมีความสามารถในการแก้ปัญหา หรืออย่างน้อยก็ให้ผู้พัฒนาแก้ปัญหา สำหรับการใช้งานหลายกรณีพร้อมกัน ฉันเข้าใจแล้วว่าทำไมคุณถึงตื่นเต้นกับเรื่องนั้น โดยเฉพาะอย่างยิ่งเมื่อคิดถึงกรณีการใช้งานฮีโร่ตัวนั้นและไม่สามารถแสดงการอัปเดตสำหรับปลั๊กอินระดับพรีเมียมได้ เป็นกรณีการใช้งานที่ค่อนข้างธรรมดา และลองนึกภาพคนอื่น ๆ อีกหลายต่อหลายคน ฉันมีคำถามบางอย่างเกี่ยวกับ การเจาะเข้าไปในแผนงาน และคิดถึงการพิจารณาความเข้ากันได้แบบย้อนหลัง แต่เราจะหยุดพักครั้งแรกของเรา เราจะกลับมาทันที ถึงเวลาเสียบเข้ากับช่วงพักโฆษณา คอยติดตามการกดเพิ่มเติมนี้ในอีกสักครู่ ยินดีต้อนรับทุกคนกลับมากดพอดคาสต์ชุมชน WordPress นี้ ฉันจะให้ Omar โฮสต์ของคุณ David Vogel พอล. ฉันกำลังสัมภาษณ์ผู้ให้เช่าเปิดตัวเกี่ยวกับ WP CLI และตัวเชื่อมต่อที่เข้ากันได้แบบย้อนหลังบางส่วน อยู่คนเดียวก่อนพัก คุณกำลังแบ่งปันเกี่ยวกับคุณสมบัติที่คุณชื่นชอบหรือ WP CLI เมื่อเร็ว ๆ นี้ซึ่งเป็นบริบททั่วโลกที่เปลี่ยนการตั้งค่าสถานะไม่ว่าจะเป็นส่วนหน้าหรือกระบวนการของผู้ดูแลระบบ และฉันก็คิดว่ามันฉลาดมาก อะไรก็ได้ที่คุณต้องการเพิ่มก่อนที่ฉันจะพูดถึงแผนงานในอนาคตและความเข้ากันได้แบบย้อนหลัง

AS: ใช่ ฉันต้องการเพิ่ม ฉันตั้งตารอสิ่งนั้นจริงๆ เพราะนั่นอาจเป็นหนึ่งในคำขอสนับสนุนที่ WP CLI ได้รับบ่อยที่สุด เหตุใดการอัปเดตจึงทำงานใน WP CLI เมื่อทำในบัคเก็ตผู้ดูแลระบบ

DV: ใช่ กระบวนการ repo ของปลั๊กอินพรีเมียมนั้นทำให้หัวของมันกลับมา และหลายๆ ที่ที่ฉันพบใน WordPress แต่ใช่ ฉันสามารถเห็นได้ว่าความสามารถหลักนั้นอยู่ที่ใดในที่ที่ผู้คนชอบ ทำไมมันถึงไม่ทำแบบนี้ ? เป็นพื้นฐานสำหรับ WordPress ที่น่าตื่นตาตื่นใจ. เมื่อคุณนึกถึงอนาคตของ WP CLI ฉันต้องการนำการพิจารณาความเข้ากันได้ย้อนหลังในไม่กี่วินาที แต่สิ่งที่เราชอบคุณลักษณะสองหรือสามอันดับแรกที่คุณรู้สึกตื่นเต้นเกี่ยวกับอนาคต

AS: ดังนั้นสิ่งที่ฉันวางแผนมาระยะหนึ่งแล้วคือการยกเครื่องโครงนั่งร้านของ WP CLI อย่างสมบูรณ์ คำสั่ง scaffolding เป็นคำสั่งที่ใช้เทมเพลตเพื่อให้คุณสร้างโค้ด เช่น สร้างธีมว่าง สร้างปลั๊กอินเปล่า และฉันต้องการทำ Super Bowl ให้เสร็จ เพื่อไม่ให้มีเครื่องมือเริ่มต้นใช้งานและความช่วยเหลือในการพัฒนาอย่างต่อเนื่องเหมือนอยู่ในพื้นที่ Laravel ด้วยคำสั่งออทิสติก ซึ่งทุกแนวคิดที่ใช้ในการพัฒนา WordPress จะมีคำสั่งในตัวเอง สร้างเวอร์ชันบัญญัติของมัน และนั่นจะไม่เพียงแต่เร่งการพัฒนาอย่างมากเท่านั้น แต่ยังเป็นเครื่องมือการเรียนรู้ที่ยอดเยี่ยมและช่วยกำหนดคุณภาพโดยรวมในพื้นที่ WordPress

DV: อันนั้นฟังดูดีมาก และฉันก็เริ่มจินตนาการได้ว่าความเข้ากันได้แบบย้อนหลังอาจมีปัญหาอะไรไหมสำหรับฟีเจอร์อื่นๆ ที่คล้ายกับแผนงาน นั่นก็สวยไปอีกแบบ อยากได้อะไรเพิ่มมั้ย?

AS: ขณะนี้ยังมีงานในการเขียนคำสั่ง Profile ซึ่งยังคงเป็นคำสั่งของบุคคลที่สาม มันยังไม่ได้รวมกลุ่ม แต่ทันทีที่การเขียนใหม่เสร็จสิ้น ฉันยังต้องการรวมคำสั่งนั้นไว้ด้วยกัน เพื่อให้ทุกคนมีวิธีการทำโปรไฟล์แบบง่ายๆ เว็บไซต์ร้องขอและดูว่าฉันต้องดำเนินการใด ดูว่าตัวกรองใดที่คอขวดของประสิทธิภาพหลักติดขัด

DV: นั่นเป็นอีกอันที่ดี เอาล่ะ คุณมีรายการแผนงานที่น่าสนใจสองรายการ ฉันแน่ใจว่ามากกว่านั้นคือคุณกำลังคิดถึงอนาคตและผู้มีส่วนร่วมคนอื่น ๆ กำลังคิดเกี่ยวกับอนาคต แต่เห็นได้ชัดว่าความเข้ากันได้แบบย้อนหลังเป็นเรื่องใหญ่ใน WordPress ดังนั้นข้อควรพิจารณาใดที่ชั่งน้ำหนักในใจของคุณเมื่อคุณคิดถึงความสามารถของคุณในการดำเนินการตามแผนงานนั้น

AS: ใช่ WP CLI คือวิธีการทำงาน งานภายในนั้นเชื่อมโยงโดยตรงกับนโยบายความเข้ากันได้แบบย้อนหลังของ WordPress core ตอนนี้ WordPress Core ยังคงรองรับ PHP 5.6 WP CLI ขั้นต่ำเช่นกัน และมีนโยบายสำหรับ WP CLI ไม่ว่า WordPress ขั้นต่ำจะเป็นอย่างไรก็ตาม เมื่อใดก็ตามที่มีการเปลี่ยนแปลง WP CLI จะชะลอการเปลี่ยนแปลงนั้นเป็นเวลาอย่างน้อยหนึ่งปี เพื่อให้ทุกคนมีโอกาสใช้ WP CLI เพื่อโยกย้ายจากเว็บไซต์เก่า สู่เว็บไซต์ใหม่ และเนื่องจากโดยปกติ WP CLI เป็นเครื่องมือที่ใช้ในการย้ายข้อมูลออกจากไซต์เก่า จึงจำเป็นต้องทำงานกับผู้ส่งออก ดังนั้น WP CLI จึงไม่สามารถเป็นผู้นำในการสนับสนุน PHP เวอร์ชันใหม่กว่าและสิ่งต่างๆ เช่นนั้น เพราะมันจะล้มเหลวในจุดประสงค์หลักคือเพื่อเข้าถึงไซต์เก่าและอนุญาตให้คุณย้าย ดังนั้น ในเรื่องนั้นจึงเป็นเรื่องยากมากที่จะพัฒนาใน WP CLI ในลักษณะที่ทำให้โค้ดมีความสดใหม่และบำรุงรักษาได้ แต่ยังคงยึดมั่นในข้อกำหนดขั้นต่ำ PHP ที่ต่ำมากกับ WordPress core ซึ่งก่อให้เกิดปัญหามากขึ้นเรื่อยๆ

DV: เมื่อใดที่พวกเขาจะทำหรือคุณรู้เมื่อคอร์จะเพิ่มหมายเลขเวอร์ชันขั้นต่ำ 5.6 ต่อไปคุณมี AB หรือไม่เพราะ 5.6 นั้นค่อนข้างจะหลากหลายและมันยากที่จะรักษาไว้ข้างหลังว่าคุณมีลูกปัดว่าเมื่อใดที่เวอร์ชันที่ใหม่กว่าจะน้อยที่สุด?

AS: บอกตามตรงว่าฉันไม่สามารถบอกได้จริงๆ ว่าฉันทุ่มเททำงานมากมายในโครงการ sub happy ซึ่งฉันมีกลไกมากมายที่จะทำให้โค้ด WordPress เป็นไปได้ในทางเทคนิคเพื่อย้ายไปยัง PHP เวอร์ชันใหม่กว่าอย่างรวดเร็ว ณ จุดนี้ ข้อกำหนดเบื้องต้นทางเทคนิคทั้งหมดคือ ที่นั่น. เป็นเพียงเรื่องของการตัดสินใจ และฉันไม่สามารถบอกได้ว่าจะเกิดขึ้นเมื่อไร เพราะมีการวางแผนมาระยะหนึ่งแล้ว แต่จนถึงขณะนี้ยังไม่มีอะไรเกิดขึ้น

DV: และตั้งแต่วินาทีนั้นมันเกิดขึ้น แม้ว่าคุณจะมีเวลาอีกหนึ่งปีหลังจากนั้นเมื่อ WP CLI สามารถเพิ่มเวอร์ชัน PHP ขั้นต่ำที่รองรับได้ มีส่วนอื่น ๆ ของซอฟต์แวร์สแต็คหรือภาษาหรืออะไรก็ตามที่ทำให้คุณคิดว่าความสามารถในการนำเสนอบนแผนงานของคุณหรือส่วนใหญ่เป็น PHP

AS: เป็นในแง่ของความเข้ากันได้ย้อนหลังหรือไม่? ส่วนใหญ่เป็น php.ini WP CLI สร้างขึ้นใน PHP และในแตงและในเชลล์สคริปต์ ดังนั้น แตงจึงเป็นภาษาทดสอบที่ไม่เป็นปัญหาจริง ๆ และเชลล์สคริปต์ที่พวกเขาไม่ได้เปลี่ยนแปลงมาเป็นเวลา 20 ปีแล้ว ฉันไม่คิดว่าจะมีปัญหาในเร็ว ๆ นี้

DV: อะไรคือผลกระทบที่เห็นได้ชัด การทำให้ซอฟต์แวร์เข้ากันได้กับ PHP เวอร์ชันเก่ามากเป็นสิ่งที่ท้าทาย แต่ก็ช่วยให้ฉันเข้าใจว่า มันท้าทายอย่างไร? อะไรคือข้อแลกเปลี่ยนที่คุณต้องทำเนื่องจากการรองรับ 5.6

AS: การสนับสนุนห้าต่อหกด้วยตัวเองนั้นไม่ใช่เรื่องใหญ่อะไร เป็นเพียงเวอร์ชันหนึ่งของภาษาและเป็นภาษาที่น่าเกลียดกว่า สมัยนั้นแต่ยังใช้งานได้ดีมาก ปัญหาคือถ้าคุณต้องการให้ทำงานบน PHP เวอร์ชันล่าสุดได้เช่นกัน ดังนั้นคุณต้องครอบคลุมสเปกตรัมทั้งหมดนั้น และตราบใดที่เราไม่ได้เพิ่มเวอร์ชันขั้นต่ำ เราก็เพียงแค่เพิ่มเวอร์ชันที่คุณต้องการสนับสนุนและด้วย PHP มากขึ้นเรื่อยๆ แต่ตอนนี้ จังหวะที่ทุก ๆ ปีมีเวอร์ชันหลักใหม่ออกมาดังนั้นพวกเขาจึงเรียก มันเป็นเวอร์ชันรอง แต่ในแง่ของคุณสมบัติ พวกเขาเป็นเวอร์ชันหลัก และสองสามรุ่นล่าสุดได้เห็นการเปลี่ยนแปลงที่ใหญ่ขึ้นและรุนแรงยิ่งขึ้นในภาษา และตอนนี้มันยากมากจริง ๆ ที่จะสร้างสิ่งก่อสร้างระดับต่ำให้มากขึ้น ในระดับที่ต่ำลงในลักษณะที่จะทำงานทั้งแบบห้า หก และแปดสองในเวลาเดียวกัน และมันจะแย่ลงเรื่อยๆ เมื่อเวลาผ่านไป และสิ่งที่เพิ่มเติมเข้าไปก็คือเครื่องมือที่คุณต้องใช้ในการทำงานใน PHP คุณต้องเรียกใช้การทดสอบหน่วย คุณต้องเรียกใช้การทดสอบการทำงาน และอื่นๆ เป็นต้น เครื่องมือทั้งหมดนี้ มันยึดติดกับจังหวะ PHP สำหรับบางสิ่งที่มีหน่วย PHP ตัวอย่างเช่น เป็นเรื่องยากมากในขณะนี้ที่จะเขียนการทดสอบของคุณในลักษณะที่การทดสอบทำงานเองในทุกเวอร์ชันของหน่วย PHP คุณต้องใช้เพื่อครอบคลุมเวอร์ชัน PHP เหล่านี้ทั้งหมด

DV: โอเค มันคือน้ำหนักของกลุ่มประชากรตามรุ่นทั้งหมดเหล่านี้ หากคุณต้องการ PHP จะพิมพ์หน่วย TA แล้วฉันเดาว่าคุณอาจกำลังดิ้นรนกับการที่คุณรู้ว่าคุณใช้ฟังก์ชันในเวอร์ชันต่างๆ เป็นฟังก์ชันใหม่อย่างไร พร้อมใช้งานและเลิกใช้แล้ว และดูเหมือนว่าคอลเลกชันของงานพิเศษทั้งหมดนั้นเป็นความเสียดทานที่ลดความสามารถในการมอบคุณสมบัติใหม่ ๆ ฟังดูยุติธรรมหรือไม่?

AS: ใช่ อืม ยังมี PHP ที่เข้มงวดมากขึ้นเรื่อยๆ ดังนั้นเมื่อก่อนคุณจำเป็นต้องแมป PHP หลายเวอร์ชัน และคุณสามารถเก็บโค้ดของคุณคลุมเครือเพื่อไม่ให้เกิดปัญหาจากเวอร์ชันใดเวอร์ชันหนึ่งหรืออีกเวอร์ชันหนึ่ง ตอนนี้มันยากขึ้นเรื่อยๆ เพราะ HP มักใช้การแจ้ง คำเตือน และปัญหาการเลิกใช้งานเป็นจำนวนมากที่สุด สำหรับรายละเอียดเล็กๆ น้อยๆ ในตอนนี้ และบางครั้งหมายความว่าคุณสร้างฟังก์ชันที่คุณต้องเรียกใช้ build หลายครั้งและมีกลไกในการดึงเวอร์ชันที่ถูกต้องของฟังก์ชันนั้น ขึ้นอยู่กับเวอร์ชันของ PHP ที่คุณใช้อยู่ การเพิ่มขึ้นแบบทวีคูณกับความพยายามในการบำรุงรักษาทุกอย่าง

DV: ใช่ นั่นสมเหตุสมผลอย่างยิ่ง เอาล่ะ ฉันต้องการเริ่มต้นสำรวจสักเล็กน้อยเกี่ยวกับวิธีที่คุณแต่งตัว และบางทีแม้แต่ความคิดของคุณเกี่ยวกับวิธีที่ WordPress โดยทั่วไปสามารถทำได้ดีกว่า และคุณรู้ว่าการแต่งตัวแบบย้อนหลังที่เข้ากันได้ แต่เรา กำลังจะพักครั้งสุดท้าย แล้วเราจะกลับมา ถึงเวลาเสียบเข้ากับช่วงพักโฆษณา คอยติดตามการกดเพิ่มเติมนี้ในอีกสักครู่ ยินดีต้อนรับทุกคนกลับมากดพอดแคสต์ชุมชน WordPress บน W EMR เรากำลังคุยกับผู้ให้เช่ารถเกี่ยวกับปัญหาความหลังสามารถอยู่อาศัยได้กับ WP CLI ฉันควรเลือกชื่อ twister ลิ้นน้อยกว่าสำหรับรายการนี้ แต่เราอยู่ที่นี่ ยาวเป็นหนังสือที่ดี ใช่ ต้องพูดให้เร็วสามเท่าก่อนจะจบ แต่โอเค ก่อนพัก คุณกำลังพูดถึงปัญหาการบำรุงรักษาแบบเอ็กซ์โพเนนเชียล เมื่อคุณเริ่มจัดการกับ PHP หลายเวอร์ชัน และฉันไม่รู้ว่าสิ่งนี้ทำให้คุณรู้สึกดีขึ้นเมื่ออยู่คนเดียวหรือไม่ แต่เหมือนเครื่องยนต์ WP 100% ลูกค้าจะได้รับการแก้ไขใน PHP เวอร์ชันใหม่ที่เราบังคับการอัปเดตเหล่านั้น แต่แน่นอนว่าไม่ใช่ทุกคน ใช่ไหม ไม่ใช่ทุกโฮสต์ไม่ใช่ทุกคนที่โฮสต์เว็บไซต์ทำสิ่งนี้ ดังนั้นสิ่งนี้จึงสร้างเพียง oshin ที่แยกออกมาและล้าสมัย เวอร์ชัน PHP ที่อ่อนนุ่ม หรือแม้แต่ปลั๊กอิน WordPress อย่างแน่นอน ดังนั้น ธรรมชาติของ WordPress ที่คุณทราบ ในแนวคิดเรื่องความเข้ากันได้แบบย้อนหลังนี้ เป็นส่วนหนึ่งของ WordPress ความแข็งแกร่งในด้านความนิยม ไม่สำคัญว่าฉันตั้งค่าเอง WP CLI ต้องล่าช้าเพราะทำงานให้กับผู้ที่ต้องการอัปเกรด นั่นเป็นสิ่งที่ดีใช่มั้ย? นั่นเป็นส่วนที่ดีของไดนามิกนั้น แต่ฉันแค่สงสัยว่าคุณคิดอย่างไรเกี่ยวกับวิธีที่ WP CLI หรือ WordPress โดยรวมสามารถปรับปรุงในการรักษาส่วนที่ดีเหล่านั้น และอาจหลีกเลี่ยงส่วนที่ไม่ดีมากขึ้น เช่น ข้อกำหนดการบำรุงรักษาแบบทวีคูณของความเข้ากันได้แบบย้อนหลัง คุณคิดอย่างไรกับงานเขียนชิ้นนั้น

AS: ใช่ ฉันคิดว่าตอนนี้เราอยู่ในจุดที่ WordPress กำลังสร้างความเสียหายให้กับผู้ใช้โดยยึดแนวทางความเข้ากันได้แบบย้อนหลังสุดขั้วที่มีในตอนนี้เกี่ยวกับ PHP เพราะสัญญาณทั้งหมดดูเหมือนจะชี้ไปที่ข้อเท็จจริง ว่าเราจะค่อยๆ เข้าสู่ช่วงที่เราไม่สามารถทำให้ WordPress ทำงานบน PHP เวอร์ชันล่าสุดได้อีกต่อไป ซึ่งเป็นปัญหาที่แท้จริง และเราต้องใช้เวลามากในการทำงานกับความเข้ากันได้เพราะการเปลี่ยนแปลงที่เกิดขึ้นใน PHP ในปัจจุบันมีการเปลี่ยนแปลงมากมาย และวิธีเดียวที่จะแก้ปัญหานี้คือต้องมีวิธีการอย่างต่อเนื่องในการปรับตัวให้เข้ากับวัฏจักร PHP ซึ่งอาจล้าหลัง PHP ได้ แต่ไม่สามารถมีความเร็วต่ำกว่า PHP ที่จะทำให้ปัญหาแย่ลงและแย่ลงได้ ดังนั้นมันจึงต้องตรงกับความเร็วของ PHP แม้ว่าจะไม่ได้ล้าหลังเลยสองปีก็ตาม จากนั้นเราต้องตรวจสอบให้แน่ใจว่าเรา เราสามารถเก็บทุกอย่างไว้ในเครื่องมือ การทดสอบ เครื่องมือ และอื่นๆ ให้ทันสมัยเพียงพอเพื่อให้เราสามารถสนับสนุน PHP เวอร์ชันล่าสุดได้เสมอ เพราะอย่างที่เห็นในตอนนี้ , PHP nine น่าจะเป็นรุ่นแรก เนื่องจากตอนนี้ WordPress จะไม่สามารถปรับตัวได้หากเราไม่เปลี่ยนแนวทาง หวังว่าโอเคใช่

DV: ฉันจะบอกว่ามันดูเหมือนว่าปัญหาเลขชี้กำลังที่คุณกำลังจัดการกับ WP CLI นั้นเป็นแบบทบต้น ถ้าคุณต้องการ ทั่วทั้ง WordPress และมันจะเป็นการตอกย้ำมัน หากคุณต้องการ เช่นเดียวกับความท้าทายที่คุณพูดถึง สำหรับ PHP เก้า และนั่นก็สมเหตุสมผลแล้วสำหรับสิ่งนี้ แรงผลักดันในลักษณะนี้ในการย้าย WordPress ให้ดีขึ้นในการบำรุงรักษานั้น ตรงกับความเร็วนั้น ดังนั้นจึงไม่ล้าหลังบริการมากเกินไป และล้าหลังในเวอร์ชัน PHP มากเกินไป ในช่วงสองสามนาทีที่แล้ว ฉันรู้ว่ามีความท้าทายมากมายเกี่ยวกับความเข้ากันได้แบบย้อนหลัง ฉันรู้ว่าคุณได้นำเสนอคุณลักษณะที่ยอดเยี่ยมและต้องการนำเสนอเพิ่มเติม และเช่นเดียวกับที่ฉันเคยเห็นผู้มีส่วนร่วมใน Gutenberg เร่งรีบ และชอบ ฉันแค่รู้สึกว่าฉันจะไม่ให้บริการเว้นแต่เราจะทำ WP CLI ด้วยความรักเล็กน้อยในพอดคาสต์นี้สำหรับผู้มีส่วนร่วม ผู้คนจะมีส่วนร่วมใน WP CLI เพื่อช่วยให้ส่วนที่สำคัญจริงๆ ของ WordPress มีชีวิตอยู่และขับเคลื่อนได้อย่างไร

AS: ก่อนอื่นเรามีในทีมหลักของ wordpress.org Slack เรามีช่อง CLI ดังนั้นคุณจึงสามารถเข้าไปที่ช่องนั้นและทักทายและถามคำถามได้ และถ้าคุณต้องการเริ่มต้น มีคนที่ยินดีช่วยคุณในการเข้าร่วมการสนับสนุน WP CLI เสมอ นอกจากนี้ยังมีเว็บไซต์ make wordpress.org/cli ซึ่งเป็นจุดเริ่มต้นสำหรับเอกสารทั้งหมดและลิงก์ไปยังประเด็นแรกที่ดีและเป็นต้น และตามหลักแล้ว คุณจะเข้าร่วมกับผู้ร่วมเขียนเว็บแคมที่กำลังเกิดขึ้นอีกครั้งในตอนนี้ ฉันดีใจมากเกี่ยวกับเรื่องนั้น เพราะในช่วงวันที่ผู้มีส่วนร่วมเหล่านี้ ผู้คนสามารถช่วยคุณตั้งค่าเครื่องจักรของคุณเองเพื่อพัฒนาท้องถิ่นอย่างเหมาะสมได้ การดำเนินการนี้จะหยุดการแสดงสดเพราะบางครั้งการเริ่มต้นใช้งานเป็นอุปสรรค์ที่ยากที่สุดที่ผู้คนต้องติดตั้ง

DV: ใช่ฉันสามารถยืนยันได้ เพื่อนสองสามคนที่มีส่วนร่วมและสิ่งที่พวกเขาเอาชนะ ฉันรู้ว่ามีคนจำนวนไม่น้อยที่มีหลักสูตรและการสอนเพียงเล็กน้อย แน่นอนว่า WordPress ก็มีสิ่งต่างๆ รอบตัวเช่นกันในแง่ของเอกสารประกอบ แต่นั่นเป็นจุดที่ดีและวันที่ให้ความช่วยเหลือในด้านนั้น ฉันยังชอบที่คุณโทรเข้าร่วมช่อง Slack มันทำให้ฉันนึกถึงว่า Mike Liddell มีส่วนเกี่ยวข้องกับ WordPress อย่างไรในการตอบสิ่งที่ฉันแสดงความคิดเห็นในโพสต์บนบล็อกของ Mac Mullenweg แต่แนวคิดของการมีส่วนร่วมในบริบททางสังคมนำไปสู่สิ่งที่ยิ่งใหญ่กว่า นี่มันสุดยอดไปเลย ขอบคุณที่เข้าร่วมกับเราในวันนี้

AS: ขอบคุณที่มีฉัน

DV: ดีใจมากที่มีคุณอยู่ที่นี่ หากคุณต้องการตรวจสอบเพิ่มเติมเกี่ยวกับสิ่งที่ Alon ทำเช่นกัน โปรดไปที่ make wordpress.org และค้นหาไซต์ WP CLI หรือค้นหาใน wordpress.org slack และช่อง WP CLI ขอบคุณทุกคนที่ฟังกดนี้พอดคาสต์ชุมชน WordPress บน WMR อีกครั้ง นี่คือโฮสต์ของคุณ David Vogelpohl ฉันสนับสนุนชุมชน WordPress ผ่านบทบาทของฉันที่ WP Engine และฉันชอบที่จะนำสิ่งที่ดีที่สุดของชุมชนมาให้คุณที่นี่ทุกสัปดาห์ใน Press This