Middle: питання на співбесіді з теми «PHP»
Найпопулярніші питання з реальних Laravel/PHP співбесід для всіх рівнів
Всі теми
API
Authentication
Authorization
Blade
Broadcasting
Caching
Collections
Database
Debugging
Eloquent
Events
Filament
Files
Livewire
Notifications
Performance
PHP
Queues
Routing
Scheduling
Service Container
Service Providers
Testing
Архітектура
Безпека
Валідація
1 питання
- Interface - це контракт: перелік методів, які клас зобов'язаний реалізувати. Не містить реалізації.
- Trait - механізм повторного використання коду: набір готових методів, які «вмішуються» в клас (горизонтальне перевикористання).
interface Loggable { public function logChannel(): string; }
// реалізація для багатьох моделей
trait HasUuid
{
public static function bootHasUuid(): void { /* ... */ }
}
class Order extends Model implements Loggable
{
use HasUuid;
public function logChannel(): string { return 'orders'; }
}
У Laravel трейти всюди: SoftDeletes, HasFactory, Notifiable. Інтерфейси («контракти») дають змогу підміняти реалізації через контейнер.