
Laravel Packages
การพัฒนา package, service provider, facade, asset ที่เผยแพร่ได้, การตั้งค่า, migration, package discovery
1ความแตกต่างหลักระหว่างเมธอด register() และ boot() ของ Service Provider คืออะไร?
ความแตกต่างหลักระหว่างเมธอด register() และ boot() ของ Service Provider คืออะไร?
คำตอบ
เมธอด register() ใช้สำหรับ bind service เข้ากับ IoC container โดยไม่ต้องพึ่งพา service อื่น เนื่องจาก service เหล่านั้นยังไม่พร้อมใช้งาน ส่วนเมธอด boot() จะถูกเรียกหลังจากที่ provider ทั้งหมดถูกลงทะเบียนแล้ว ทำให้สามารถเข้าถึง service ที่ลงทะเบียนทั้งหมดและกำหนดค่าฟีเจอร์ที่พึ่งพา service เหล่านั้น เช่น route, view หรือ event
2โครงสร้างพื้นฐานที่แนะนำสำหรับ package Laravel คืออะไร?
โครงสร้างพื้นฐานที่แนะนำสำหรับ package Laravel คืออะไร?
คำตอบ
package Laravel ที่มีโครงสร้างที่ดีจะมีไดเรกทอรี src/ สำหรับซอร์สโค้ด PHP รวมถึง Service Provider, ไดเรกทอรี config/ สำหรับไฟล์การตั้งค่า, composer.json พร้อม metadata และ autoload PSR-4 รวมถึงไดเรกทอรีเสริมสำหรับ resource เช่น database/, resources/ และ routes/ การจัดระเบียบนี้ช่วยให้บำรุงรักษาง่ายและเป็นไปตามแนวทางของชุมชน
3package discovery ทำงานอย่างไรใน Laravel?
package discovery ทำงานอย่างไรใน Laravel?
คำตอบ
package discovery ใช้ส่วน extra.laravel ใน composer.json ของ package เพื่อประกาศ provider และ alias โดยอัตโนมัติ ในระหว่างการติดตั้งผ่าน Composer, Laravel จะอ่าน metadata นี้และลงทะเบียน service โดยอัตโนมัติโดยไม่ต้องแก้ไข config/app.php ด้วยตนเอง ฟีเจอร์นี้ช่วยให้การติดตั้ง package ง่ายขึ้นและลดข้อผิดพลาดในการตั้งค่า
จะทำให้ไฟล์การตั้งค่าสามารถเผยแพร่ได้ใน package Laravel อย่างไร?
เมธอด mergeConfigFrom() ใน Service Provider ของ package มีจุดประสงค์อะไร?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Laravel อื่นๆ
พื้นฐาน PHP
พื้นฐาน OOP ใน PHP
Composer & Autoloading
พื้นฐาน Laravel
Laravel Routing
Blade Templates
Request & Response
พื้นฐาน Eloquent ORM
Eloquent Relationships
Migrations & Schema Builder
การตรวจสอบและฟอร์ม
การยืนยันตัวตน
การให้สิทธิ์และ Policies
API Resources & Authentication
Middleware
Service Container & DI
Queues & Jobs
Events & Listeners
การแจ้งเตือนและเมล
File Storage
Testing & PHPUnit
Caching
Livewire & Inertia
Eloquent Advanced
Repository Pattern
Performance Optimization
Security Best Practices
Laravel Octane
Laravel Distributed Systems
Observability & Monitoring
Deployment & DevOps
เชี่ยวชาญ Laravel สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี