ฉันเห็นสิ่งนี้ Drupal 8 จะพึ่งพาหรือเข้ากันได้กับ Symfony มากน้อยเพียงใด แต่ฉันไม่เข้าใจว่ามันใช้ได้กับคำถามของฉันหรือไม่ ฉันควรเรียนรู้ Symfony 2 เพื่อพัฒนาด้วย Drupal หรือไม่
ฉันเห็นสิ่งนี้ Drupal 8 จะพึ่งพาหรือเข้ากันได้กับ Symfony มากน้อยเพียงใด แต่ฉันไม่เข้าใจว่ามันใช้ได้กับคำถามของฉันหรือไม่ ฉันควรเรียนรู้ Symfony 2 เพื่อพัฒนาด้วย Drupal หรือไม่
คำตอบ:
Symfony 2 เหมือนใน stack เต็ม Symfony 2 ไม่มีผลต่อ Drupal 8 - เราไม่ใช้บันเดิลเราไม่ใช้การจัดเส้นทางเดียวกับที่ Symfony ทำ สุนัขน้อยลงช้าโดยการทำให้เมนูไอของฉันแย่ลงไปอีก ยังไม่มีเอกสารไม่สามารถเข้าใจได้ไม่ได้ให้ผลกับเครื่องมือวิเคราะห์โค้ดแบบสแตติกและทั้งหมดจะใช้งานไม่ได้และช้า) เราไม่ใช้ ORM เดียวกัน (หลักคำสอน) เรากำลังใช้ส่วนประกอบ Symfony 2 บางส่วน แต่มีน้อยมากที่ผู้พัฒนา "สิ้นสุด" มองเห็นได้ ตัวอย่างเช่นสับสนพอบางครั้งคุณต้องใช้เหตุการณ์ (สิ่งที่เป็น hook_boot / hook_init ใน D7 จะถูกแทนที่ด้วยเหตุการณ์เคอร์เนล Symfony HTTP) ในขณะที่ Drupal ส่วนใหญ่มักจะใช้ตะขอของมัน สับสนเป็นชื่อของเกมที่ Symfony 2 โต้ตอบกับ Drupal มันเป็นแบบที่ไม่ดีอย่างยิ่งและจำนวนของเอกสาร (ไม่) ของวิธีการที่แบบนี้ (ไม่) เกิดขึ้นทำให้มันยากขึ้น
แก้ไข: เราใช้ service container http://symfony.com/doc/current/book/service_container.htmlอย่างน้อยส่วนคงที่ของมัน - อย่างไรก็ตามการเพิ่มและเปลี่ยนแปลงบริการแบบไดนามิกทำได้โดยใช้วิธีเฉพาะของ Drupal (ผู้ให้บริการที่ เชื่อมต่อกับระบบผ่านทางเวทย์มนตร์พิเศษซึ่งไม่ใช่เหตุการณ์หรือขอเกี่ยวขอต้อนรับสู่ Drupal 8. )
ดังนั้น: หากคุณรู้จัก Symfony 2 ทั้งภายในและภายนอกดังนั้นสิ่งเล็กน้อยนั้นจะสามารถใช้ได้ใน Drupal 8 หากคุณไม่สนใจหนังสือหรือแบบฝึกหัดของ Symfony 2
ฉัน "โตขึ้น" กับ Drupal ดังนั้นฉันจึงเป็นคนชอบทำตามขั้นตอนอยู่เสมอ (Drupal เป็นเครื่องมือหลัก / เครื่องมือเดียวในการทำเว็บไซต์ที่เป็นงานของฉัน) ตอนแรกฉันสับสนมากเมื่อฉันเริ่มใช้ Drupal 8 OOP นั้นไม่ยากเลยตั้งแต่ฉันรู้จัก OOP แต่สถาปัตยกรรมใหม่นั้นยากที่จะเข้าใจ แต่หลังจากสองสัปดาห์ฉันเริ่มรู้สึกเหมือนอยู่บ้านอีกครั้ง เว็บไซต์นี้และ # drupal- บริจาคช่วยฉันมาก ฉันอ่านข้อมูลบางอย่างจากเอกสาร Symfony เพื่อทำความเข้าใจกับคอนโทรลเลอร์โดยทั่วไปแล้วฉันไม่ได้ทำงานกับ D8 เป็นเวลา 4 เดือนและฉันรู้สึกเหมือนอยู่บ้านอีกครั้ง
สิ่งต่าง ๆ มีการเปลี่ยนแปลง แต่คุณจะได้เรียนรู้วิธีการใหม่อย่างรวดเร็ว คุณไม่ต้องเรียนรู้ Symfony เลย ฉันไม่ได้
สิ่งหนึ่งที่ทำให้สิ่งต่าง ๆ ง่ายขึ้นสำหรับฉันคือการเปลี่ยน IDE ของฉันจาก NetBeans เป็น PHPStorm เนื่องจาก NetBeans ไม่สนับสนุนวิธีการสืบค้นที่สืบทอดมา หลังจากนั้นไม่กี่เดือนฉันไม่เข้าใจว่าฉันจะใช้ NB ได้อย่างไร :) (แม้ว่าการทำงานกับ Git ใน NB จะดีขึ้นมากสำหรับฉัน)
ดังนั้นเพื่อตอบคำถามของคุณ: คุณไม่จำเป็นต้องเรียนรู้ Symfony แน่นอน เพื่อทำให้ชีวิตของคุณง่ายขึ้นให้ดูที่ไฟล์ * .services.yml ในโมดูล (ที่ดำเนินการ) และกำหนดเส้นทางการเรียกกลับในโมดูลใด ๆ * .routing.yml ไฟล์เพื่อทำความเข้าใจการเรียกกลับหน้าเว็บ (จาก hook_menu ใน D7)