คำถามและคำตอบสัมภาษณ์ MVC 55 อันดับแรก (PDF)
คำถามและคำตอบสัมภาษณ์ MVC สำหรับนักศึกษาใหม่
1) Model-View-Controller คืออะไร
MVC เป็นรูปแบบสถาปัตยกรรมซอฟต์แวร์สำหรับการพัฒนาแอปพลิเคชันเว็บ โดยได้รับการจัดการโดยวัตถุ 3 อย่าง ได้แก่ Model, View และ Controller
👉 ดาวน์โหลดไฟล์ PDF ฟรี: คำถามและคำตอบสัมภาษณ์ MVC
2) Model-View-Controller เป็นตัวแทนอะไรในแอปพลิเคชัน MVC
ในโมเดล MVC
- รุ่น– แสดงถึงโดเมนข้อมูลแอปพลิเคชัน กล่าวอีกนัยหนึ่ง ตรรกะทางธุรกิจของแอปพลิเคชันจะอยู่ภายในโมเดลและมีหน้าที่รับผิดชอบในการดูแลรักษาข้อมูล
- รายละเอียด– แสดงถึงส่วนติดต่อผู้ใช้ที่ผู้ใช้ปลายทางสื่อสารกัน กล่าวโดยสรุป ตรรกะส่วนต่อประสานกับผู้ใช้ทั้งหมดมีอยู่ภายใน View
- ผู้ควบคุม- เป็นตัวควบคุมที่ตอบสนองการกระทำของผู้ใช้ ขึ้นอยู่กับการกระทำของผู้ใช้ คอนโทรลเลอร์ที่เกี่ยวข้องจะตอบสนองภายในโมเดลและเลือกมุมมองที่จะเรนเดอร์ซึ่งแสดงอินเทอร์เฟซผู้ใช้ ตรรกะอินพุตของผู้ใช้มีอยู่ภายในคอนโทรลเลอร์
3) ตั้งชื่อแอสเซมบลีเพื่อกำหนด MVC
เทศกาล กรอบงาน MVC ถูกกำหนดไว้ในแอสเซมบลี System.Web.Mvc
4) วิธีการดำเนินการของคอนโทรลเลอร์ประเภทการส่งคืนที่แตกต่างกันมีอะไรบ้าง
ต่อไปนี้เป็นประเภทการส่งคืนที่แตกต่างกันของวิธีดำเนินการกับคอนโทรลเลอร์:
- ดูผลลัพธ์
- Javaผลลัพธ์ของสคริปต์
- ผลลัพธ์การเปลี่ยนเส้นทาง
- ผลลัพธ์ JSON
- ผลลัพธ์ของเนื้อหา
5) อะไรคือความแตกต่างระหว่างการเพิ่มเส้นทางให้กับแอปพลิเคชันเว็บฟอร์มและแอปพลิเคชัน MVC
ในการเพิ่มเส้นทางไปยังแอปพลิเคชันเว็บฟอร์ม เราใช้วิธี MapPageRoute() ของคลาส RouteCollection ในขณะที่การเพิ่มเส้นทางไปยังแอปพลิเคชัน MVC เราใช้วิธี MapRoute()
6) สองวิธีในการเพิ่มข้อจำกัดให้กับเส้นทางมีอะไรบ้าง
สองวิธีในการเพิ่มข้อจำกัดให้กับเส้นทางคือ
- ใช้นิพจน์ทั่วไป
- ใช้วัตถุที่ใช้อินเทอร์เฟซ IRouteConstraint
7) MVC มีข้อดีอย่างไร?
- MVC แยกโครงการของคุณออกเป็นส่วนต่างๆ และเป็นเรื่องง่ายสำหรับนักพัฒนาในการทำงาน
- ง่ายต่อการแก้ไขหรือเปลี่ยนแปลงบางส่วนของโครงการของคุณซึ่งเป็นประโยชน์ต่อต้นทุนการพัฒนาและบำรุงรักษาของโครงการที่น้อยลง
- MVC ทำให้โครงการของคุณเป็นระบบมากขึ้น
- มันแสดงถึงการแยกที่ชัดเจนระหว่างตรรกะทางธุรกิจและตรรกะการนำเสนอ
- ออบเจ็กต์ MVC แต่ละรายการมีหน้าที่ที่แตกต่างกัน
- การพัฒนาก้าวหน้าไปพร้อมๆ กัน
- ง่ายต่อการจัดการและบำรุงรักษา
- คลาสและออบเจ็กต์ทั้งหมดเป็นอิสระจากกัน
8) ฟังก์ชัน “beforeFilter()”,”beforeRender” และ “afterFilter” ทำอะไรได้บ้างในคอนโทรลเลอร์
- beforeFilter(): ฟังก์ชันนี้ทำงานก่อนทุกการกระทำในคอนโทรลเลอร์ เป็นสถานที่ที่เหมาะสมในการตรวจสอบเซสชันที่ใช้งานอยู่หรือตรวจสอบสิทธิ์ของผู้ใช้
- beforeRender(): ฟังก์ชันนี้ถูกเรียกตามตรรกะการดำเนินการของคอนโทรลเลอร์ แต่ก่อนที่จะแสดงมุมมอง ฟังก์ชันนี้ไม่ได้ใช้บ่อยนัก แต่อาจจำเป็นหากคุณเรียกใช้ render() ด้วยตนเองก่อนสิ้นสุดการดำเนินการที่กำหนด
- afterFilter(): ฟังก์ชันนี้ถูกเรียกหลังจากทุกการทำงานของคอนโทรลเลอร์และหลังจากการเรนเดอร์เสร็จสิ้น มันเป็นวิธีการควบคุมสุดท้ายที่จะรัน
9) บทบาทขององค์ประกอบการนำเสนอ นามธรรม และการควบคุมใน MVC คืออะไร?
นี่คือบทบาทขององค์ประกอบการนำเสนอ นามธรรม และการควบคุมใน MVC:
- ที่นำเสนอ: มันเป็นการแสดงภาพนามธรรมเฉพาะภายในแอปพลิเคชัน
- นามธรรม: เป็นฟังก์ชันการทำงานของโดเมนธุรกิจภายในแอปพลิเคชัน
- ควบคุม: เป็นองค์ประกอบที่รักษาความสอดคล้องระหว่างสิ่งที่เป็นนามธรรมภายในระบบและการนำเสนอต่อผู้ใช้นอกเหนือจากการสื่อสารกับการควบคุมอื่น ๆ ภายในระบบ
10) รุ่น MVC มีข้อเสียอย่างไร
นี่คือข้อเสียที่สำคัญบางประการของโมเดล MVC:
- รูปแบบโมเดลมีความซับซ้อนนิดหน่อย
- ความไร้ประสิทธิภาพของการเข้าถึงข้อมูลในมุมมอง
- ด้วยอินเทอร์เฟซผู้ใช้ที่ทันสมัย การใช้ MVC จึงเป็นเรื่องยาก
- คุณต้องมีโปรแกรมเมอร์หลายคนเพื่อการพัฒนาแบบขนาน
- จำเป็นต้องมีความรู้ด้านเทคโนโลยีที่หลากหลาย
11) บทบาทของ “ActionFilters” ใน MVC คืออะไร?
ใน MVC “ActionFilters” ช่วยให้คุณดำเนินการตรรกะในขณะที่ดำเนินการการกระทำ MVC หรือกำลังดำเนินการ
12) ขั้นตอนในการดำเนินโครงการ MVC คืออะไร?
ขั้นตอนในการดำเนินโครงการ MVC ประกอบด้วย:
- รับคำขอแรกสำหรับการสมัคร
- ดำเนินการกำหนดเส้นทาง
- สร้างตัวจัดการคำขอ MVC
- สร้างคอนโทรลเลอร์
- ดำเนินการควบคุม
- เรียกใช้การดำเนินการ
- ดำเนินการผลลัพธ์
13) การกำหนดเส้นทางและสามส่วนคืออะไร?
การกำหนดเส้นทางช่วยให้คุณตัดสินใจเกี่ยวกับโครงสร้าง URL และแมป URL กับตัวควบคุม
สามส่วนที่สำคัญสำหรับการกำหนดเส้นทางคือ:
- ชื่อตัวควบคุม
- ชื่อวิธีการดำเนินการ
- พารามิเตอร์
14) การกำหนดเส้นทางในรูปแบบ MVC ทำอย่างไร
มีกลุ่มเส้นทางที่เรียกว่า RouteCollection ซึ่งประกอบด้วยเส้นทางที่ลงทะเบียนไว้ในแอปพลิเคชัน เมธอด RegisterRoutes จะบันทึกเส้นทางในคอลเลกชันนี้ เส้นทางกำหนดรูปแบบ URL และตัวจัดการที่จะใช้หากคำขอตรงกับรูปแบบ
พารามิเตอร์ตัวแรกของเมธอด MapRoute คือชื่อของเส้นทาง พารามิเตอร์ตัวที่สองจะเป็นรูปแบบที่ URL ตรงกัน พารามิเตอร์ที่สามอาจเป็นค่าเริ่มต้นสำหรับตัวยึดตำแหน่งหากไม่ได้กำหนดไว้
15) คุณจะนำทางจากมุมมองหนึ่งไปยังอีกมุมมองหนึ่งโดยใช้ไฮเปอร์ลิงก์ได้อย่างไร
โดยใช้วิธี “ActionLink” ดังแสดงในโค้ดด้านล่างนี้ โค้ดด้านล่างจะสร้าง URL แบบง่ายที่ช่วยนำทางไปยังตัวควบคุม "Home" และเรียกใช้การดำเนินการ "GotoHome"
ยุบ / คัดลอกรหัส
<%= Html.ActionLink("Home", "Gotohome") %>
คำถามและคำตอบสัมภาษณ์ MVC สำหรับผู้มีประสบการณ์
16) เซสชันได้รับการดูแลอย่างไรใน MVC
สามารถรักษาเซสชันใน MVC ได้สามวิธี: tempdata, viewdata และ viewbag
17) ข้อมูลชั่วคราว, ดูข้อมูล และ View Bag แตกต่างกันอย่างไร?
- ข้อมูลชั่วคราว: มันช่วยรักษาข้อมูลเมื่อคุณเปลี่ยนจากตัวควบคุมหนึ่งไปยังตัวควบคุมอื่น
- ดูข้อมูล: ช่วยรักษาข้อมูลเมื่อคุณย้ายจากคอนโทรลเลอร์ไปยังมุมมอง
- ดูกระเป๋า: มันเป็น wrapper แบบไดนามิกรอบข้อมูลมุมมอง
18) มุมมองบางส่วนใน MVC คืออะไร?
มุมมองบางส่วนใน MVC แสดงผลส่วนหนึ่งของเนื้อหามุมมอง มีประโยชน์ในการลดความซ้ำซ้อนของโค้ด กล่าวง่ายๆ ก็คือ มุมมองบางส่วนช่วยให้สามารถแสดงมุมมองภายในมุมมองหลักได้
19) คุณจะใช้ Ajax ใน MVC ได้อย่างไร?
ใน MVC นั้น Ajax สามารถนำมาใช้ได้สองวิธี
- ห้องสมุดอาแจ็กซ์
- jquery
20) “ActionResult” และ “ViewResult” แตกต่างกันอย่างไร?
“ActionResult” เป็นคลาสนามธรรม ในขณะที่ “ViewResult” มาจากคลาส “AbstractResult” “ActionResult” มีคลาสที่ได้รับมาจำนวนหนึ่ง เช่น “JsonResult”, “FileStreamResult” และ “ViewResult”
“ActionResult” จะดีที่สุดหากคุณได้รับมุมมองประเภทต่างๆ แบบไดนามิก
21) คุณจะส่งผลลัพธ์กลับมาในรูปแบบ JSON ใน MVC ได้อย่างไร
หากต้องการส่งผลลัพธ์กลับมาในรูปแบบ JSON ใน MVC คุณสามารถใช้คลาส "JSONRESULT" ได้
22) อะไรคือความแตกต่างระหว่างมุมมองและมุมมองบางส่วน?
นี่คือความแตกต่างระหว่างมุมมองและมุมมองบางส่วน
รายละเอียด | มุมมองบางส่วน |
---|---|
ประกอบด้วยหน้าเค้าโครง | ไม่มีหน้าเค้าโครง |
ก่อนที่จะแสดงผลมุมมองใดๆ หน้า viewstart จะถูกแสดงผล | มุมมองบางส่วนไม่ได้ตรวจสอบ viewstart.cshtml เราไม่สามารถใส่โค้ดทั่วไปสำหรับมุมมองบางส่วนภายใน viewStart.cshtml.page |
มุมมองอาจมีแท็กมาร์กอัป เช่น body, html, head, title, meta เป็นต้น | มุมมองบางส่วนได้รับการออกแบบมาเป็นพิเศษเพื่อแสดงผลภายในมุมมอง และด้วยเหตุนี้จึงไม่ประกอบด้วยมาร์กอัปใดๆ |
มุมมองไม่เบาเมื่อเปรียบเทียบกับมุมมองบางส่วน | เราสามารถส่งผ่านมุมมองปกติไปยังวิธี RenderPartial ได้ |
23) ผลลัพธ์ประเภทใดใน MVC?
ใน MVC มีผลลัพธ์อยู่ 11 ประเภทโดยที่คลาส “ActionResult” เป็นคลาสหลัก ในขณะที่ XNUMX ประเภทเป็นประเภทย่อย:
- ดูผลลัพธ์
- ผลลัพธ์มุมมองบางส่วน
- ผลว่างเปล่า
- ผลลัพธ์การเปลี่ยนเส้นทาง
- เปลี่ยนเส้นทางไปยังRouteResult
- JsonResult
- Javaผลลัพธ์สคริปต์
- ผลลัพธ์ของเนื้อหา
- ไฟล์ผลลัพธ์เนื้อหา
- FileStreamResult
- FilePathResult
24) NonActionAttribute มีความสำคัญอย่างไร?
วิธีการสาธารณะทั้งหมดของคลาสคอนโทรลเลอร์จะถือเป็นวิธีการดำเนินการ หากคุณต้องการป้องกันวิธีการเริ่มต้นนี้ คุณจะต้องกำหนดวิธีการสาธารณะด้วย NonActionAttribute
25) การใช้เส้นทางเริ่มต้น {resource}.axd/{*pathinfo} คืออะไร?
เส้นทางเริ่มต้นป้องกันไม่ให้คำขอสำหรับไฟล์ทรัพยากรบนเว็บ เช่น Webresource.axd หรือ ScriptResource.axd ไม่ให้ถูกส่งผ่านไปยังตัวควบคุม
26) ลำดับของตัวกรองที่ถูกดำเนินการคืออะไร หากมีการใช้ตัวกรองหลายตัว?
ลำดับตัวกรองจะเป็นดังนี้:
- ตัวกรองการอนุญาต
- ตัวกรองการดำเนินการ
- ตัวกรองการตอบสนอง
- ตัวกรองข้อยกเว้น
27) ตัวกรอง ASP.NET ใดที่จะถูกดำเนินการในที่สุด?
ในตอนท้าย "ตัวกรองข้อยกเว้น" จะถูกดำเนินการ
28) นามสกุลไฟล์สำหรับมุมมองมีดโกนคืออะไร?
สำหรับมุมมองมีดโกน นามสกุลไฟล์คือ
- .cshtml: ถ้า C# เป็นภาษาโปรแกรม
- .vbhtml: ถ้า VB เป็นภาษาโปรแกรม
29) สองวิธีในการเพิ่มข้อจำกัดให้กับเส้นทางมีอะไรบ้าง?
สองวิธีในการเพิ่มข้อจำกัดให้กับเส้นทางคือ:
- การใช้นิพจน์ทั่วไป
- การใช้วัตถุที่ใช้อินเทอร์เฟซ IRouteConstraint
30) อะไรคือสองกรณีที่ไม่ได้ใช้หรือจำเป็นต้องใช้การกำหนดเส้นทาง?
มี 2 กรณีที่ไม่จำเป็นต้องมีการกำหนดเส้นทาง
- เมื่อพบไฟล์ฟิสิคัลที่ตรงกับรูปแบบ URL
- เมื่อปิดใช้งานการกำหนดเส้นทางสำหรับรูปแบบ URL
คำถามสัมภาษณ์ MVC สำหรับประสบการณ์ 5 ปี
31) MVC มีคุณสมบัติอะไรบ้าง?
นี่คือคุณสมบัติของ MVC:
- ทดสอบได้ง่ายและไม่เสียดสี เฟรมเวิร์กที่ทดสอบได้สูง ขยายได้ และเสียบปลั๊กได้
- ให้การควบคุม HTML และ URL ของคุณอย่างสมบูรณ์
- ใช้ประโยชน์จากคุณสมบัติที่มีอยู่ของ ASP.NET, JSP, Django ฯลฯ
- การแยกตรรกะอย่างชัดเจน: โมเดล มุมมอง ตัวควบคุม การแยกงานแอปพลิเคชันผ่านตรรกะทางธุรกิจ ตรรกะ Ul และตรรกะอินพุต
- การกำหนดเส้นทาง URL สำหรับ URL ที่เป็นมิตรกับ SEO การทำแผนที่ URL ที่มีประสิทธิภาพสำหรับ URL ที่เข้าใจและค้นหาได้
- รองรับการพัฒนาการทดสอบขับเคลื่อน (TDD)
32) ตัวอย่างในชีวิตจริงของ MVC คืออะไร?
นี่คือตัวอย่างในชีวิตจริงของ MVC:
- สมมติว่าคุณไปร้านอาหาร คุณจะไม่เข้าครัวและเตรียมอาหารที่คุณสามารถทำได้ที่บ้านอย่างแน่นอน แต่คุณเพียงแค่ไปที่นั่นและรอให้บริกรมาแทน
- ตอนนี้บริกรมาหาคุณแล้วคุณก็แค่สั่งอาหาร พนักงานเสิร์ฟไม่รู้ว่าคุณเป็นใครและต้องการอะไร เขาแค่เขียนรายละเอียดการสั่งอาหารของคุณ
- จากนั้นบริกรก็ย้ายไปที่ห้องครัว ในห้องครัว พนักงานเสิร์ฟไม่ได้เตรียมอาหารให้คุณ
- พ่อครัวจะเตรียมอาหารให้คุณ พนักงานเสิร์ฟจะได้รับออร์เดอร์และหมายเลขโต๊ะของคุณ
- จากนั้นพ่อครัวก็เตรียมอาหารให้คุณ เขาใช้วัตถุดิบในการปรุงอาหาร สมมติว่าคุณสั่งแซนวิชผัก จากนั้นเขาก็ต้องการขนมปัง มะเขือเทศ มันฝรั่ง พริกหยวก หัวหอม ชิ้นเล็ก ชีส ฯลฯ ซึ่งมาจากตู้เย็น
- ในที่สุดคุกก็ยื่นอาหารให้บริกร ตอนนี้เป็นหน้าที่ของพนักงานเสิร์ฟที่จะย้ายอาหารนี้ออกไปนอกครัว
- ตอนนี้บริกรรู้ว่าคุณสั่งอาหารประเภทไหนและจะเสิร์ฟอย่างไร
ในกรณีนี้,
View= You Waiter= Controller Cook= Model Refrigerator= Data
33) อะไรคือความแตกต่างระหว่าง 3 ระดับ Archiเทคเจอร์และ MVC Archiเทคเจอร์?
นี่คือความแตกต่างระหว่าง 3 ชั้น Archiเทคเจอร์และ MVC Archiเทคเจอร์:
พารามิเตอร์ | 3 ชั้น Archiเทคเจอร์ | VMC Archiเทคเจอร์ |
---|---|---|
การสื่อสาร | รูปแบบสถาปัตยกรรมประเภทนี้จะไม่สื่อสารโดยตรงกับชั้นข้อมูล | ทุกเลเยอร์สื่อสารโดยตรงโดยใช้โทโพโลยีสามเหลี่ยม |
การใช้ | 3 ระดับ: ใช้กันอย่างแพร่หลายในเว็บแอปพลิเคชันที่ไคลเอนต์ ระดับข้อมูล และมิดเดิลแวร์ทำงานบนแพลตฟอร์มที่แยกจากกัน | โดยทั่วไปจะใช้กับแอปพลิเคชันที่ทำงานบนเวิร์กสเตชันกราฟิกเครื่องเดียว |
34) คุณสามารถใช้สถาปัตยกรรม MVC ใน JSP ได้อย่างไร?
ตัวอย่างต่อไปนี้จะแสดงการใช้สถาปัตยกรรม MVC ใน JSP:
- เรากำลังใช้ตัวอย่างแบบฟอร์มที่มีตัวแปรสองตัวคือ “อีเมล” และ “รหัสผ่าน” ซึ่งเป็นเลเยอร์มุมมองของเรา
- เมื่อผู้ใช้ป้อนอีเมลและรหัสผ่านแล้วคลิกส่ง การดำเนินการนั้นจะถูกส่งต่อใน mvc_servlet ซึ่งจะส่งอีเมลและรหัสผ่านไป
- mvc_servlet นี้เป็นเลเยอร์คอนโทรลเลอร์ ใน mvc_servlet คำขอจะถูกส่งไปยังวัตถุ bean ซึ่งทำหน้าที่เป็นเลเยอร์โมเดล
- ค่าอีเมลและรหัสผ่านจะถูกตั้งค่าไว้ในบีนและจัดเก็บไว้สำหรับวัตถุประสงค์อื่นๆ
- จาก bean ค่าจะถูกดึงออกมาและแสดงในเลเยอร์มุมมอง
Mvc_example.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>MVC Guru Example</title> </head> <body> <form action="Mvc_servlet" method="POST"> Email: <input type="text" name="email"> <br /> Password: <input type="text" name="password" /> <input type="submit" value="Submit" /> </form> </body> </html>
Mvc_servlet.java
package demotest; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class Mvc_servlet */ public class Mvc_servlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public Mvc_servlet() { super(); // TODO Auto-generated constructor stub } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub String email=request.getParameter("email"); String password=request.getParameter("password"); TestBean testobj = new TestBean(); testobj.setEmail(email); testobj.setPassword(password); request.setAttribute("gurubean",testobj); RequestDispatcher rd=request.getRequestDispatcher("mvc_success.jsp"); rd.forward(request, response); } }
TestBean.java
package demotest; import java.io.Serializable; public class TestBean implements Serializable{ public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } private String email="null"; private String password="null"; }
Mvc_success.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@page import="demotest.TestBean"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Success</title> </head> <body> <% TestBean testguru=(TestBean)request.getAttribute("gurubean"); out.print("Welcome, "+testguru.getEmail()); %> </body> </html>
35) MVC ทำงานอย่างไรในฤดูใบไม้ผลิ
นี่คือวิธีการทำงานของ MVC ใน Spring:
- DispatcherServlet ได้รับการร้องขอ
- หลังจากนั้น DispatcherServlet จะสื่อสารกับ HandlerMapping นอกจากนี้ยังเพิกถอนตัวควบคุมที่เกี่ยวข้องกับคำขอเฉพาะนั้นด้วย
- ตัวควบคุมประมวลผลคำขอนี้โดยการเรียกวิธีการบริการ และวัตถุ ModelAndView จะถูกส่งกลับโดย DispatcherServlet
- ชื่อมุมมองจะถูกส่งไปยัง ViewResolver เพื่อค้นหามุมมองจริงที่จะเรียกใช้
- หลังจากนั้น DispatcherServlet จะถูกส่งไปยัง View เพื่อแสดงผลลัพธ์
- ด้วยการใช้ข้อมูลโมเดล View จะเรนเดอร์และส่งผลลัพธ์กลับไปยังผู้ใช้
36) จุดสำคัญที่ต้องจำขณะสร้างแอปพลิเคชัน MVC คืออะไร
ต่อไปนี้เป็นจุดสำคัญที่ควรจดจำขณะสร้างแอปพลิเคชัน MVC:
- คุณต้องจำไว้ว่า ASP.net MVC ไม่สามารถทดแทนแอปพลิเคชันบนเว็บฟอร์มของ ASP.Net
- แนวทางการพัฒนาแอป MVC จะต้องตัดสินใจตามความต้องการของแอปพลิเคชันและฟีเจอร์ที่ ASP.net MVC มอบให้เพื่อให้เหมาะกับความต้องการในการพัฒนาเฉพาะ
- กระบวนการพัฒนาแอพพลิเคชั่นด้วย ASP.NET MVC มีความซับซ้อนมากกว่าเมื่อเปรียบเทียบกับแอพพลิเคชั่นที่ใช้แบบฟอร์มบนเว็บ
- การบำรุงรักษาแอปพลิเคชันจะสูงขึ้นเสมอเมื่อมีการแยกงานแอปพลิเคชัน
37) Web Forms และ MVC แตกต่างกันอย่างไร
นี่คือข้อแตกต่างระหว่าง Web Forms และ MVC:
พารามิเตอร์ | แบบฟอร์มเว็บ | VMC |
---|---|---|
รุ่น | Asp.Net Web Forms เป็นไปตามรูปแบบการพัฒนาที่ขับเคลื่อนด้วยเหตุการณ์ | Asp.Net MVC ใช้โมเดลการพัฒนาตามรูปแบบ MVC |
ใช้ตั้งแต่ | มีมาตั้งแต่ปี 2002 | เปิดตัวครั้งแรกในปี 2009 |
รองรับสถานะการดู | Asp.Net Web Forms รองรับสถานะมุมมองสำหรับการจัดการสถานะที่ฝั่งไคลเอ็นต์ | .Net MVC ไม่รองรับสถานะการดู |
ประเภท URL | Asp.Net Web Forms มี URL แบบไฟล์ หมายความว่าชื่อไฟล์มีอยู่ใน URL และต้องมีอยู่จริง | Asp.Net MVC มี URL ตามเส้นทางซึ่งหมายความว่า URL จะถูกเปลี่ยนเส้นทางไปยังตัวควบคุมและการดำเนินการ |
วากยสัมพันธ์ | Asp.Net MVC เป็นไปตามไวยากรณ์ของเว็บฟอร์ม | Asp.Net MVC เป็นไปตามไวยากรณ์ที่ปรับแต่งได้ |
ประเภทการดู | มุมมองเว็บฟอร์มเชื่อมโยงอย่างแน่นหนากับโค้ดด้านหลัง (ASPX-CS) เช่นตรรกะ | มุมมองและตรรกะของ MVC จะถูกเก็บไว้แยกกันเสมอ |
รูปลักษณ์และความรู้สึกที่สอดคล้องกัน | มีหน้าหลักเพื่อให้ดูสอดคล้องกัน | Asp.Net MVC มีเลย์เอาต์เพื่อให้ดูสอดคล้องกัน |
การใช้รหัสซ้ำ | เว็บฟอร์มเสนอการควบคุมผู้ใช้สำหรับการนำโค้ดกลับมาใช้ใหม่ | Asp.Net MVC นำเสนอมุมมองบางส่วนสำหรับการนำโค้ดกลับมาใช้ใหม่ได้ |
การควบคุมสำหรับ HTML | Less ควบคุม HTML ที่แสดงผล | ควบคุม HTML เต็มรูปแบบ |
การจัดการของรัฐ | การจัดการสถานะการควบคุมอัตโนมัติ | การจัดการสถานะด้วยตนเอง |
รองรับ TDD | จำเป็นต้องมี TDD ที่อ่อนแอหรือกำหนดเอง | ให้กำลังใจและรวม TDD! |
38) คุณจะแสดงบางอย่างใน CodeIgniter ได้อย่างไร?
นี่คือโค้ดสำหรับแสดงบางอย่างใน CodeIgniter:
<?=$title?> As opposed to <?php echo $title; ?> Control structures are usually written as follows <?php foreach ($customers as $customer): ?> <li> <p><?=$customer->first_name?><p> </li> <?php endforeach; ?>
39) เขียนโค้ดเพื่อสาธิต Model, View และ Controller ใน CodeIgniter
นี่คือโค้ดสำหรับสาธิต Model, View และ Controller ใน CodeIgniter:
เปิดไฟล์ตัวควบคุม Welcome.php ที่อยู่ในแอปพลิเคชัน/ตัวควบคุม:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller { public function index() { $this->load->view('welcome_message'); } }
อัพเดตดัชนีดังต่อไปนี้:
public function index() { $this->load->model('customers_model'); $data['customer'] = $this->customers_model->get_customer(3); $this->load->view('welcome_message',$data); }
เขียนโค้ดต่อไปนี้ใน customer_model.php ใน application/models
<?php class Customers_model extends CI_Model { public function get_customer($id) { $data['id'] = 3; $data['first_name'] = 'John'; $data['last_name'] = 'Doe'; $data['address'] = 'Kingstone'; return $data; } }
เปิด Welcome_message.php ที่อยู่ใน
application/views/welcome_message.php
แทนที่โค้ดด้วยรหัสต่อไปนี้
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>CodeIgniter MVC Basics</title> </head> <body> <h3>Customer Details Card</h3> <p>Customer ID : <strong><?=$customer['id']?></strong></p> <p>First Name : <strong><?=$customer['first_name']?></strong></p> <p>Last Name : <strong><?=$customer['last_name']?></strong></p> <p>Address : <strong><?=$customer['address']?></strong></p> </body> </html>
40) คุณสามารถสร้างเว็บแอปพลิเคชันที่มีทั้งเว็บฟอร์มและ MVC ได้หรือไม่?
ใช่ คุณต้องรวมการอ้างอิงแอสเซมบลี MVC ด้านล่างในแอปพลิเคชันแบบฟอร์มเว็บเพื่อสร้างแอปพลิเคชันไฮบริด
System.Web.Mvc System.Web.Razor System.ComponentModel.DataAnnotations
41) คุณจะกำหนดชื่อนามแฝงสำหรับ ASP.NET Web API Action ได้อย่างไร
เราสามารถตั้งชื่อนามแฝงสำหรับการกระทำของ Web API ได้เช่นเดียวกับในกรณีของ ASP.NET MVC โดยใช้แอตทริบิวต์ “ActionName” ดังนี้
[HttpPost] [ActionName("SaveStudentInfo")] public void UpdateStudent(Student aStudent) { StudentRepository.AddStudent(aStudent); }
42) อะไรคือความแตกต่างที่สำคัญระหว่าง MVC และ WebAPI?
นี่คือข้อแตกต่างหลักระหว่าง MVC และ WebAPI:
กรอบงาน MVC ใช้สำหรับการพัฒนาแอปพลิเคชันที่มีส่วนต่อประสานกับผู้ใช้ ด้วยเหตุนี้ คุณสามารถใช้มุมมองเพื่อสร้างส่วนต่อประสานกับผู้ใช้ได้
WebAPI ใช้สำหรับการพัฒนาบริการ HTTP แอปอื่นๆ ยังสามารถเรียกว่าเมธอด WebAPI เพื่อดึงข้อมูลนั้นได้
43) คุณจะแน่ใจได้อย่างไรว่า Web API ส่งคืนข้อมูล JSON เท่านั้น
หากต้องการให้ Web API ทำการซีเรียลไลซ์วัตถุที่ส่งกลับมาเป็นรูปแบบ JSON และส่งคืนเฉพาะข้อมูล JSON เท่านั้น สำหรับสิ่งนั้น คุณควรเพิ่มโค้ดต่อไปนี้ในคลาส WebApiConfig.cs ในโครงการ MVC Web API ใดๆ:
//JsonFormatter //MediaTypeHeaderValue Config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json")); 1 2 3 //JsonFormatter //MediaTypeHeaderValue Config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"))
44) MVVM และ MVC แตกต่างกันอย่างไร?
นี่คือความแตกต่างที่สำคัญระหว่าง MVVM และ MVC:
VMC | เอ็มวีวีเอ็ม |
---|---|
คอนโทรลเลอร์เป็นจุดเริ่มต้นของแอปพลิเคชัน | มุมมองเป็นจุดเริ่มต้นสู่แอปพลิเคชัน |
ความสัมพันธ์แบบหนึ่งต่อหลายความสัมพันธ์ระหว่างตัวควบคุมและมุมมอง | ความสัมพันธ์แบบหนึ่งต่อหลายความสัมพันธ์ระหว่าง View & View Model |
มุมมองไม่มีการอ้างอิงถึงคอนโทรลเลอร์ | มุมมองมีการอ้างอิงถึง View-Model |
MVC เป็นรุ่นเก่า | MVVM เป็นโมเดลที่ค่อนข้างใหม่ |
ยากที่จะอ่าน เปลี่ยนแปลง เพื่อทดสอบหน่วย และนำโมเดลนี้กลับมาใช้ใหม่ | กระบวนการแก้ไขข้อบกพร่องจะซับซ้อนเมื่อเรามีการผูกข้อมูลที่ซับซ้อน |
ส่วนประกอบโมเดล MVC สามารถทดสอบแยกจากผู้ใช้ได้ | ง่ายสำหรับการทดสอบหน่วยแยกต่างหากและโค้ดเป็นไปตามเหตุการณ์ |
45) MVC ใน AngularJS คืออะไร
Angular.js ปฏิบัติตามสถาปัตยกรรม MVC แผนผังของกรอบงาน MVC ปรากฏด้านล่างนี้
- ตัวควบคุมแสดงถึงเลเยอร์ที่มีตรรกะทางธุรกิจ เหตุการณ์ของผู้ใช้จะเรียกใช้ฟังก์ชันที่จัดเก็บไว้ในคอนโทรลเลอร์ของคุณ เหตุการณ์ผู้ใช้เป็นส่วนหนึ่งของตัวควบคุม
- มุมมองถูกใช้เพื่อแสดงเลเยอร์การนำเสนอซึ่งมอบให้แก่ผู้ใช้ปลายทาง
- แบบจำลองใช้เพื่อแสดงข้อมูลของคุณ ข้อมูลในแบบจำลองของคุณอาจเรียบง่ายได้ เช่น การประกาศข้อมูลเบื้องต้น ตัวอย่างเช่น หากคุณกำลังดูแลแอปพลิเคชันสำหรับนักเรียน แบบจำลองข้อมูลของคุณอาจมีเพียงรหัสประจำตัวนักเรียนและชื่อ หรืออาจซับซ้อนได้หากมีแบบจำลองข้อมูลที่มีโครงสร้าง หากคุณกำลังดูแลแอปพลิเคชันสำหรับเจ้าของรถยนต์ คุณสามารถมีโครงสร้างเพื่อกำหนดตัวรถเองในแง่ของความจุเครื่องยนต์ ความจุที่นั่ง ฯลฯ
46) บทบาทของ MVC ใน AngularJS คืออะไร?
ต่อไปนี้เป็นคำจำกัดความง่ายๆ เกี่ยวกับการทำงานของ AngularJS Controller
- ความรับผิดชอบหลักของตัวควบคุมคือการควบคุมข้อมูลที่ส่งผ่านไปยังมุมมอง ขอบเขตและมุมมองมีการสื่อสารสองทาง
- คุณสมบัติของมุมมองสามารถเรียก “ฟังก์ชัน” บนขอบเขตได้ นอกจากนี้ เหตุการณ์ในมุมมองอาจเรียกว่า “วิธีการ” ในขอบเขตได้ ข้อมูลโค้ดด้านล่างนี้เป็นตัวอย่างง่ายๆ ของฟังก์ชัน
- ฟังก์ชั่น($scope) ซึ่งถูกกำหนดเมื่อกำหนดคอนโทรลเลอร์และฟังก์ชันภายในที่ใช้ในการส่งคืนการต่อข้อมูลของ $scope.firstName และ $scope.lastName
- ใน AngularJS เมื่อคุณกำหนดฟังก์ชันเป็นตัวแปร จะเรียกว่าวิธีการ
- ข้อมูลด้วยวิธีนี้จะส่งผ่านจากตัวควบคุมไปยังขอบเขต จากนั้นข้อมูลจะถูกส่งกลับไปกลับมาจากขอบเขตไปยังมุมมอง
- ขอบเขตใช้เพื่อแสดงโมเดลในมุมมอง โมเดลสามารถแก้ไขได้ผ่านวิธีการที่กำหนดไว้ในขอบเขต ซึ่งสามารถทริกเกอร์ผ่านเหตุการณ์จากมุมมองได้ เราสามารถกำหนดการเชื่อมโยงโมเดลแบบสองทางจากขอบเขตไปยังโมเดลได้
- ไม่ควรนำตัวควบคุมมาใช้เพื่อควบคุม DOM ควรใช้คำสั่งที่เราจะเห็นในภายหลัง
- แนวทางปฏิบัติที่ดีที่สุดคือการมีตัวควบคุมตามฟังก์ชันการทำงาน ตัวอย่างเช่น หากคุณมีแบบฟอร์มสำหรับการป้อนข้อมูลและคุณต้องการตัวควบคุมสำหรับสิ่งนั้น ให้สร้างตัวควบคุมที่เรียกว่า "ตัวควบคุมแบบฟอร์ม"
47) วิธีสร้างคอนโทรลเลอร์พื้นฐานใน AngularJS
ข้อมูลโค้ดด้านล่างนี้เป็นหน้า HTML ธรรมดาที่มีชื่อว่า “การลงทะเบียนกิจกรรม” และมีการอ้างอิงถึงไลบรารีที่สำคัญเช่น Bootstrap, jquery และเชิงมุม
- เรากำลังเพิ่มการอ้างอิงไปยังสไตล์ชีต CSS ของ Bootstrap ซึ่งจะใช้ร่วมกับไลบรารี Bootstrap
- เรากำลังเพิ่มการอ้างอิงไปยังไลบรารี AngularJS ดังนั้น ไม่ว่าเราจะทำอะไรกับ angular.js ต่อไป จะถูกอ้างอิงจากไลบรารีนี้
- เรากำลังเพิ่มการอ้างอิงไปยังไลบรารีบูตสแตรปเพื่อทำให้หน้าเว็บของเราตอบสนองมากขึ้นสำหรับการควบคุมบางอย่าง
- เราได้เพิ่มการอ้างอิงไปยังไลบรารี jquery ซึ่งจะใช้สำหรับการจัดการ DOM สิ่งนี้จำเป็นโดย Angular เนื่องจากฟังก์ชันบางอย่างใน Angular ขึ้นอยู่กับไลบรารีนี้
ตามค่าเริ่มต้น ข้อมูลโค้ดข้างต้นจะแสดงอยู่ในตัวอย่างทั้งหมดของเรา เพื่อให้เราสามารถแสดงเฉพาะโค้ด angularJS ที่เฉพาะเจาะจงในส่วนต่อๆ ไป
ประการที่สอง มาดูไฟล์และโครงสร้างไฟล์ของเราซึ่งเราจะเริ่มต้นด้วยหลักสูตรของเรา:
- ขั้นแรก เราจะแยกไฟล์ของเราออกเป็น 2 โฟลเดอร์ เช่นเดียวกับที่ทำกับเว็บแอปพลิเคชันทั่วไป เรามีโฟลเดอร์ "CSS" มันจะบรรจุไฟล์สไตล์ชีทแบบเรียงซ้อนทั้งหมดของเรา จากนั้นเราจะมีโฟลเดอร์ “lib” ซึ่งจะมีไฟล์ของเราทั้งหมด Javaต้นฉบับ ไฟล์
- ไฟล์ bootstrap.css ถูกวางไว้ในโฟลเดอร์ CSS และใช้สำหรับเพิ่มรูปลักษณ์ที่สวยงามให้กับเว็บไซต์ของเรา
- angular.js เป็นไฟล์หลักของเราซึ่งดาวน์โหลดจากไซต์ angularJS และเก็บไว้ในโฟลเดอร์ lib ของเรา
- ไฟล์ app.js จะมีโค้ดของเราสำหรับคอนโทรลเลอร์
- ไฟล์ bootstrap.js ใช้เพื่อเสริมไฟล์ bootstrap.cs เพื่อเพิ่มฟังก์ชัน bootstrap ให้กับเว็บแอปพลิเคชันของเรา
- ไฟล์ jquery จะถูกใช้เพื่อเพิ่มฟังก์ชันการจัดการ DOM ให้กับเว็บไซต์ของเรา
ตัวอย่างการใช้ angular.js:
สิ่งที่เราต้องการทำที่นี่คือการแสดงคำว่า "AngularJS" ทั้งในรูปแบบข้อความและในกล่องข้อความเมื่อดูหน้าในเบราว์เซอร์
<!DOCTYPE html> <html> <head> <meta chrset="UTF 8"> <link rel="stylesheet" href="css/bootstrap.css"/> </head> <body> <h3> Guru99 Global Event</h3> <script src="https://code.angularjs.org/1.6.9/angular.js"></script> <script src="lib/angular.js"></script> <script src="lib/bootstrap.js"></script> <script src="lib/jquery-1.11.3.min.js"></script> <div ng-app="DemoApp" ng-controller="DemoController"> Tutorial Name : <input type="text" ng-model="tutorialName"><br> This tutorial is {{tutorialName}} </div> <script> var app = angular.module('DemoApp',[]); app.controller('DemoController', function($scope){ $scope.tutorialName = "Angular JS"; }); </script> </body> </html>
48) การใช้ ng-controller ในไฟล์ภายนอกใน AngularJS คืออะไร
ดำเนินการตามขั้นตอนต่อไปนี้เพื่อใช้ ng-controller ในไฟล์ภายนอกใน AngularJS
ขั้นตอน 1) ในไฟล์ app.js เพิ่มโค้ดต่อไปนี้สำหรับตัวควบคุมของคุณ
angular.module('app',[]).controller('HelloWorldCtrl',function($scope) { $scope.message = "Hello World" });
ขั้นตอน 2) ตอนนี้ ในไฟล์ Sample.html ของคุณ ให้เพิ่มคลาส div ที่จะมีคำสั่ง ng-controller จากนั้นเพิ่มการอ้างอิงไปยังตัวแปรสมาชิก “ข้อความ”
<!DOCTYPE html> <html ng-app="app"> <head> <meta chrset="UTF 8"> <title>Event Registration</title> <link rel="stylesheet" href="css/bootstrap.css"/> </head> <body> <h3> Guru99 Global Event</h3> <div class="container"> <div ng-controller="HelloWorldCtrl">{{message}}</div> </div> <script src="https://code.angularjs.org/1.6.9/angular.js"></script> <script src="lib/angular.js"></script> <script src="lib/bootstrap.js"></script> <script src="lib/jquery-1.11.3.min.js"></script> <script src="app.js"></script> </body> </html>
49) เขียนโค้ดเพื่อกำหนดวิธีการใน AngularJS Controller?
นี่คือโค้ดสำหรับกำหนดวิธีการใน AngularJS Controller:
<!DOCTYPE html> <html> <head> <meta chrset="UTF 8"> <title>Event Registration</title> <link rel="stylesheet" href="css/bootstrap.css"/> </head> <body ng-app="DemoApp"> <h3> Guru99 Global Event</h3> <script src="https://code.angularjs.org/1.6.9/angular.js"></script> <script src="lib/angular.js"></script> <script src="lib/bootstrap.js"></script> <script src="lib/jquery-1.11.3.min.js"></script> <div ng-app="DemoApp" ng-controller="DemoController"> Tutorial Name :<input type="text" ng-model="tutorialName"><br> <br> This tutorial is {{tutorialName}} </div> <script> var app = angular.module('DemoApp', []); app.controller('DemoController', function($scope) { $scope.tutorialName = "Angular JS"; $scope.tName = function() { return $scope.tName; }; }); </script> </body> </html>
50) เขียนโค้ดโดยใช้ ng-model เพื่อแสดงการควบคุมอินพุตหลายบรรทัดใน AngularJS
นี่คือโค้ดที่ใช้ ng-model เพื่อแสดงการควบคุมอินพุตหลายบรรทัดใน AngularJS:
<!DOCTYPE html> <html> <head> <meta chrset="UTF 8"> <title>Event Registration</title> <link rel="stylesheet" href="css/bootstrap.css"/> </head> <body > <h3> Guru99 Global Event</h3> <script src="https://code.angularjs.org/1.6.9/angular.js"></script> <div ng-app="DemoApp" ng-controller="DemoCtrl"> <form> Topic Description:<br> <br> <textarea rows="4" cols="50" ng-model="pDescription"></textarea><br><br> </form> </div> <script> var app = angular.module('DemoApp',[]); app.controller('DemoCtrl', function($scope){ $scope.pDescription="This topic looks at how Angular JS works \nModels in Angular JS"}); </script> </body> </html>
51) เขียนโค้ดเพื่อสาธิตการใช้องค์ประกอบอินพุต
นี่คือตัวอย่างโค้ดที่ใช้องค์ประกอบอินพุต AngulaJS:
<!DOCTYPE html> <html> <head> <meta chrset="UTF 8"> <title>Event Registration</title> <link rel="stylesheet" href="css/bootstrap.css"/> <script src="https://code.angularjs.org/1.6.9/angular.js"></script> </head> <body > <h3> Guru99 Global Event</h3> <div ng-app="DemoApp" ng-controller="DemoCtrl"> <form> Topic Description:<br> <br> Name : <input type="text" ng-model="pname"><br> Topic : <br> <input type="checkbox" ng-model="Topic.Controller">Controller<br> <input type="checkbox" ng-model="Topic.Models">Models </form> </div> <script> var app = angular.module('DemoApp',[]); app.controller('DemoCtrl', function($scope){ $scope.pname="Guru99"; $scope.Topic = { Controller:true, Models:false }; }); </script> </body> </html>
52) คุณจะสร้างโมเดลใน PHP ได้อย่างไร?
นี่คือโค้ดสำหรับสร้างโมเดลใน PHP:
<?php class Opinion_poll_model extends CI_Model { public function __construct() { $this->load->database(); } public function total_votes() { $query = $this->db->select('COUNT(choice) as choices_count')->get('js_libraries'); return $query->row()->choices_count; } public function get_results() { $libraries = array("", "JQuery", "MooTools", "YUI Library", "Glow"); $table_rows = ''; for ($i = 1; $i < 5; $i++) { $sql_stmt = "SELECT COUNT(choice) choices_count FROM js_libraries WHERE choice = $i;"; $result = $model-> select($sql_stmt); $table_rows .= "<tr><td>" . $ libraries [$i] . " Got:</td><td><b>" . $result[0] . "</b> votes</td></tr>"; } public function add_vote($choice) { $ts = date("Y-m-d H:i:s"); $data = array('choice' => $choice, 'ts' => $ts); $this->db->insert('js_libraries', $data); } } ?>
53) เหตุใดจึงต้องใช้ PHP MVC Framework
คุณควรใช้ PHP MVC Framework เนื่องจากจะทำให้การทำงานกับเทคโนโลยีที่ซับซ้อนง่ายขึ้นโดย:
- ซ่อนรายละเอียดการใช้งานที่ซับซ้อนทั้งหมด
- จัดเตรียมวิธีการมาตรฐานที่เราสามารถใช้เพื่อสร้างแอปพลิเคชันของเรา
- ผลผลิตของนักพัฒนาที่เพิ่มขึ้น เนื่องมาจากการดำเนินกิจกรรมพื้นฐาน เช่น การเชื่อมต่อกับฐานข้อมูล การฆ่าเชื้ออินพุตของผู้ใช้ ฯลฯ ได้ถูกนำมาใช้แล้วบางส่วน
- การปฏิบัติตามมาตรฐานการเข้ารหัสระดับมืออาชีพ
54) กรอบงาน PHP MVC ยอดนิยมคืออะไร?
นี่คือเฟรมเวิร์ก PHP MVC ยอดนิยม:
รหัสอิกนิเตอร์: มันเป็นหนึ่งในเฟรมเวิร์ก PHP MVC ที่ได้รับความนิยมมากที่สุด มันมีน้ำหนักเบาและมีช่วงการเรียนรู้ที่สั้น มีชุดไลบรารีมากมายที่ช่วยสร้างเว็บไซต์และแอปพลิเคชันอย่างรวดเร็ว ผู้ใช้ที่มีความรู้จำกัดเกี่ยวกับการเขียนโปรแกรม OOP ก็สามารถใช้งานได้เช่นกัน
โคฮานา: เป็น Hierarchical Model View Controller HMVC ที่เป็นกรอบงานที่ปลอดภัยและมีน้ำหนักเบา มีชุดส่วนประกอบที่หลากหลายสำหรับการพัฒนาแอปพลิเคชันอย่างรวดเร็ว
เค้ก PHP: มันถูกสร้างแบบจำลองมาจาก Ruby on Rails เป็นที่รู้จักจากแนวคิดต่างๆ เช่น รูปแบบการออกแบบซอฟต์แวร์ อนุสัญญาเหนือการกำหนดค่า ActiveRecord เป็นต้น
เซนด: มันเป็นกรอบการทำงานที่ทรงพลังนั่นคือ
- ปลอดภัย เชื่อถือได้ รวดเร็ว และปรับขนาดได้
- รองรับ Web 2.0 และการสร้างบริการเว็บ
มันมี API จากผู้ขายเช่น Amazon, Google Flickr, Yahoo เป็นต้น เหมาะอย่างยิ่งสำหรับการพัฒนาแอพพลิเคชั่นทางธุรกิจ
55) คุณจะสร้างมุมมองใน PHP ได้อย่างไร?
นี่คือโค้ดสำหรับสร้างมุมมองใน PHP:
opinion_poll_form.php <html> <head> <title> JavaScript Libraries - Opinion Poll </title> </head> <body> <h3>JavaScript Libraries - Opinion Poll</h3> <p><b>What is your favorite JavaScript Library? </b></p> <form method="POST" action="index.php"> <p> <input type="radio" name="vote" value="1" /> JQuery <br /> <input type="radio" name="vote" value="2" /> MooTools <br /> <input type="radio" name="vote" value="3" /> YUI Library <br /> <input type="radio" name="vote" value="4" /> Glow </p> <p> <input type="submit" name="submitbutton" value="OK" /> </p> </form> </body> </html>
ตอนนี้เรามาสร้างหน้าผลลัพธ์ results.php กันดีกว่า
<html> <head> <title>JavaScript Libraries - Opinion Poll Results</title> </head> <body> <h3>JavaScript Libraries - Opinion Poll Results</h3> <p><b>What is your favorite JavaScript Library?</b></p> <p><b><?php echo $total_votes; ?></b> people have thus far taken part in this poll:</p> <p><table><tr><td> <?php print($rows); ?> </tr></td></table></p> <p><a href="#">Return to voting page</a></p> </body> </html>
คำถามสัมภาษณ์เหล่านี้จะช่วยในวีว่าของคุณ (วาจา)