ข้ามไปที่เนื้อหา
cd /languages
เว็บเก่า แรงกดดันใหม่การเขียนโปรแกรมรองรับกราฟแบบเต็มรูปแบบ

การรองรับ PHP ใน Maguyva: เว็บแอปที่อยู่มายาวนานโดยไม่ต้องแก้ไขแบบมองไม่เห็น

Maguyva รองรับ PHP ด้วยการแตกโครงสร้าง AST และการดึง symbol ช่วยให้เอเจนต์ AI สำรวจแอป Laravel, เฟรมเวิร์กกำหนดเอง, โค้ดยุค WordPress และ repository PHP ที่อยู่มานานอื่นๆ ด้วยโครงสร้างที่มากกว่า grep

เหตุใด PHP จึงต้องการการค้นหาที่รับรู้โครงสร้าง

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

ใน repo เหล่านั้น ปัญหาไม่ได้อยู่ที่ไวยากรณ์ แต่อยู่ที่การกู้คืนโครงสร้างอย่างปลอดภัยจากโค้ดเบสที่มีเวลาหลายปีในการสะสมตัวช่วย, ข้อตกลงของเฟรมเวิร์ก และทางลัดเฉพาะที่

สิ่งที่ Maguyva ดึงออกมาจริงใน PHP

Maguyva ตัดสัญลักษณ์ $ ออกจากคำนิยาม ทำให้การเรียกที่มีคำนำหน้าสมาชิกเป็นมาตรฐานเดียวกัน และกรองสัญญาณรบกวนจากฟังก์ชันในตัวของ PHP ออกจากกราฟความสัมพันธ์จำนวนมาก นี่คือการทำความสะอาดแบบที่โค้ด PHP เก่าต้องการก่อนที่มุมมองการค้นหาและ dependency จะมีประโยชน์

นอกจากนี้ยังรองรับรูปแบบไฟล์ที่ทีม PHP พบเจอจริง ตั้งแต่ .php และ .phtml ไปจนถึงส่วนขยายรุ่นเก่าที่ยังปรากฏอยู่ในระบบที่อยู่มานาน

เวิร์กโฟลว์ MCP ที่มีประโยชน์สำหรับแอป PHP ที่อยู่มายาวนาน

รูปแบบที่ให้ผลลัพธ์มักเป็น:

  • find_symbol สำหรับ controller, service, model หรือคลาสตัวช่วยที่มีชื่อคงที่
  • text_pattern_search สำหรับชื่อเส้นทาง, การเรียกตัวช่วยหรือข้อตกลงเฟรมเวิร์กเก่า เมื่อข้อความตรงตัวยังเป็นเส้นทางที่เร็วที่สุด
  • get_task_context เมื่อเส้นทางโค้ดยุ่งเหยิงและต้องการสรุปแบบเย็บต่อกันก่อนแก้ไข

เมื่อใดที่หน้านี้มีประโยชน์

หน้านี้เหมาะกับทีมที่คำถามในทางปฏิบัติคือ “เรายังรัน PHP ที่สำคัญอยู่” หากฟรอนต์เอนด์อยู่ใน JavaScript สมัยใหม่ ให้อ่าน JavaScript ต่อ หาก repo มี service หรือเลเยอร์การทำงานอัตโนมัติใหม่กว่ารอบๆ Python คือหน้าคู่หูที่เกี่ยวข้องกว่า

เหมาะที่สุดสำหรับ

  • >repository ของ Laravel, PHP กำหนดเอง หรือโมโนลิธผสมที่ยังสำคัญต่อการปฏิบัติงาน
  • >ทีมที่ดูแลเว็บแอปเก่าที่ตอนนี้อยู่ข้างๆ ฟรอนต์เอนด์ JavaScript และโค้ดโครงสร้างพื้นฐาน
  • >งานรีแฟกเตอร์ด้วยความช่วยเหลือของ AI ที่ให้ความสำคัญกับการเข้าใจโฟลว์ที่มีอยู่ก่อนเปลี่ยนแปลง

เวิร์กโฟลว์ของเอเจนต์

  • >ตามรอยเส้นทาง, controller, service หรือตัวช่วยที่ใช้ร่วมกันก่อนแก้ไข
  • >หารูปแบบการอิมพลีเมนต์ที่ซ้ำกันในโค้ดเบส PHP ที่เติบโตเต็มที่ แทนที่จะสร้างรูปแบบใหม่ขึ้นมาเอง
  • >กู้คืนโครงสร้างในโค้ดเก่าที่ผ่านหลายยุคของเฟรมเวิร์กหรือโฮสติ้งมาแล้ว

รายละเอียดเอนจิน

  • >PHP ตัดสัญลักษณ์ `$` ออกจากนิยาม และปรับการเรียกที่มีคำนำหน้าสมาชิกให้เป็นมาตรฐาน ทำให้โค้ดเก่าที่มีฟังก์ชันช่วยเหลือหนาแน่นค้นหาได้สม่ำเสมอมากขึ้น
  • >การรองรับครอบคลุมรูปแบบไฟล์ PHP ทั่วไป รวมถึง `.php`, `.php3`, `.php4`, `.php5`, `.phtml`, และ `.phps`
  • >ตัวกรองฟังก์ชันในตัวขนาดใหญ่ตัดพื้นผิวรันไทม์มาตรฐานของ PHP ออก เพื่อให้กราฟยังคงเน้นไปที่โค้ดของแอปพลิเคชัน

จุดเริ่มต้น MCP ที่มีประโยชน์

  • find_symbol

    ใช้กับ controller เซอร์วิส โมเดล หรือคลาสช่วยเหลือ เมื่อรีโปยังมีชื่อสัญลักษณ์ที่จำได้

  • text_pattern_search

    ใช้กับชื่อเส้นทาง การเรียกฟังก์ชันช่วยเหลือ หรือธรรมเนียมเฟรมเวิร์กเก่า เมื่อโครงสร้างอย่างเดียวไม่พอ

  • get_task_context

    มีประโยชน์เมื่อคุณต้องการสรุปที่ประกอบรวมกันของโฟลว์ PHP เก่า ก่อนเปลี่ยนแปลงมัน

คู่มือที่เกี่ยวข้อง

พื้นผิวรีโปที่ใกล้เคียงกัน

ดูคู่มือทั้งหมด