ฉันคิดว่าคำถามของคุณอาจเฉพาะเจาะจงกับ PHP จริงๆเพราะฉันไม่เห็นเทคโนโลยีแบ็คเอนด์อื่น ๆ ที่คุณพูดถึงการใช้แบบนี้
PHP เป็นตัวอย่างที่ตลกเนื่องจากเป็นไปได้ (ในลักษณะที่ค่อนข้างน่าเกลียดที่ฉันอาจเพิ่ม) ถูกมองว่าเป็นภาษา all-in-one ที่เกี่ยวข้องกับโครงการเว็บจำนวนมาก คุณสามารถทำงานแบบ " แบ็คเอนด์ " แบบดั้งเดิม- เช่นการทำงานของไฟล์และฐานข้อมูลในขณะเดียวกันก็สร้างมาร์กอัป" front-end "
สิ่งนี้สามารถนำไปสู่ความยุ่งเหยิงของสปาเก็ตตี้ในที่ที่ไม่มีความกังวลแยกจากกันดังนั้นฉันควรขมวดคิ้วในใจของฉัน สำหรับตัวอย่างที่ดีถ้าคุณเรียกดูแหล่ง wordpress คุณมักจะหลงทางและนั่นเป็นโครงการหนึ่งที่ฉันตำหนิภาษาองค์กรของ codebase นั้นดีมาก
สิ่งนี้สามารถแก้ไขได้บ้างโดยใช้ " เครื่องมือสร้างแรงบันดาลใจ " (เช่นSmarty )) - แต่มันยังคงเป็น PHP ซึ่งสร้าง "ส่วนหน้า" ในขณะที่ยังมีฟังก์ชั่น "แบ็คเอนด์" นี่เป็นการตัดสินใจโดยเจตนาที่อยู่เบื้องหลังการออกแบบ PHP อย่างไรก็ตามมันคือ " ตัวประมวลผลไฮเปอร์เท็กซ์ " ทั้งหมด!
ดังนั้น PHP สามารถปรับให้เหมาะกับการใช้ " front-end " และ " back-end " ซึ่งควรอธิบายตัวอย่างของคุณ ดังนั้นคุณน่าจะถูกต้องใน PHP ที่จะประมวลผลและสร้าง mark-up ทั้งหมดสำหรับ front-end แต่มันจะทำการร้องขอที่อื่นเพื่อรวบรวมข้อมูลที่ต้องการ - บริการที่เขียนในภาษาดังกล่าว .
โดยส่วนตัวแล้วฉันรู้สึกว่าคำศัพท์ "แบ็คเอนด์" และ "ฟรอนต์เอนด์" นั้นค่อนข้างจะเก่าไปหน่อย ฉันต้องการสิ่งที่ถูกเรียกเพียงฝั่งลูกค้าและฝั่งเซิร์ฟเวอร์; ดังนั้นจึงไม่มีความคลุมเครือที่แท้จริง *
เมื่อเร็ว ๆ นี้ฉันเห็นข้อมูลจำเพาะของลูกค้าซึ่งต้องใช้ระบบแบ็คเอนด์ที่เขียนใน node.js และเครื่องมือที่เกี่ยวข้อง แต่ต้องการสร้าง front-end โดยใช้เฟรมเวิร์ก PHP (Laravel) สิ่งนี้มาพร้อมกับค่าใช้จ่ายที่เกี่ยวข้องจำนวนมากและในใจของฉัน - ไม่ใช่โซลูชันที่สง่างามและอาจทำให้เกิดปัญหาเล็กน้อยพอสมควร
โดยส่วนตัวแล้วการกำหนดค่าแบบนี้ดูเหมือนว่ามีคนใส่ PHP เข้าไปในกองอื่นโดยไม่จำเป็นซึ่งหมายความว่าต้องใช้ทรัพยากรมากกว่าที่จำเป็นจริง ๆ เจ้าหน้าที่บำรุงรักษาจำเป็นต้องได้รับเทคโนโลยีที่หลากหลายและมีจุดที่ล้มเหลวมากขึ้น
นอกจากนี้ฉันยังคิดว่ามีสถานการณ์น้อยมากที่รับประกันกองซ้อนกลางประเภทนี้ ภาษา / กรอบงานส่วนหลังส่วนใหญ่มีความสามารถในการสร้าง mark-up ที่จำเป็นสำหรับ front-end อย่างสมบูรณ์ แม้ว่าฉันจะได้รับการแก้ไข
* แม้ว่าการตั้งคำถามของคุณเป็นสิ่งที่ควรทำ .. ระบบการแบ็คเอนด์ที่สร้างขึ้นโดยใช้ Javascript นั้นเป็นอย่างไร (node.js;))
แก้ไข:
หลังจากอ่านความคิดเห็นโดย @itsbruce ฉันได้ตัดสินใจที่จะชี้แจงสิ่งที่ฉันหมายถึงโดยความคลุมเครือของคำศัพท์ "front-end" / "back-end" ของฉัน
โดยปกติแล้วคำศัพท์นี้จะใช้ได้ดีเว็บแอปพลิเคชั่นทางสถาปัตยกรรมนั้นง่ายกว่ามากและกล้าบอกว่ามันโง่มาก ในใจของฉันมันสะอาดกว่าที่จะพูดว่า "ฝั่งเซิร์ฟเวอร์" และ "ฝั่งไคลเอ็นต์" และนี่เริ่มชัดเจนขึ้นเนื่องจากแนวโน้มในปัจจุบันของการผลักดันการประมวลผลและตรรกะให้กับลูกค้ามากขึ้นเรื่อย ๆ
เป็นที่ยอมรับได้ที่จะทำการประมวลผลข้อมูลในปริมาณที่พอสมควรแก่ลูกค้า (เพียงมองที่เฟรมเวิร์กของจาวาสคริปต์ที่กำลังได้รับความนิยม) แต่นี่เป็นส่วนหน้าจริงๆหรือ? ผู้ใช้ไม่เห็นพวกเขาเห็นผลลัพธ์ของมัน - และตามเกณฑ์ดั้งเดิมที่โดยทั่วไปจะถูกมองว่าเป็น "แบ็คเอนด์"; แต่สิ่งนี้กำลังเกิดขึ้นในเบราว์เซอร์ทันที ..
ในทำนองเดียวกันและเกี่ยวข้องกับคำถามนี้อย่างไม่น่าเชื่อการสร้าง mark-up ใน PHP เป็นงานส่วนหน้าจริงๆหรือ? ฉันสงสัยว่าการเลือกบอร์ดงานอย่างรวดเร็วแสดงตำแหน่งนักพัฒนาซอฟต์แวร์ไม่กี่คนที่คาดหวังว่าจะได้รับประสบการณ์หรือความรู้ PHP แต่สัญชาตญาณจะแนะนำว่ามาร์กอัปสำหรับส่วนต่อประสานนั้นเป็นส่วนหน้า
ความจริงที่ว่าคำถามนี้มีอยู่ทำหน้าที่เป็นตัวอย่างของวิธี " front-end " และ " back-end " มีความคลุมเครือโดยเนื้อแท้และจะยังคงเป็นเช่นนั้น
ด้วยการอ้างถึงงานว่า "ฝั่งเซิร์ฟเวอร์" หรือ "ฝั่งไคลเอ็นต์" ที่ความคลุมเครือหายไปคุณจะรู้ว่าโค้ดกำลังทำงานอยู่ที่ไหนและจะใช้ภาษาใด ถ้าคุณพูดว่า " front-end " ในตัวอย่างที่ OP ได้ให้ไว้ฉันสงสัยว่าหลายคนจะไป " โอ้ดังนั้น PHP บนเซิร์ฟเวอร์ใช่มั้ย "