Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- interface EmailServiceInterface {
- }
- class PepipostEmailService extends EmailServiceInterface {
- }
- class MailgunEmailService extends EmailServiceInterface {
- }
- class EmailServiceFactory {
- public static function create(string $serviceName): EmailServiceInterface {
- switch ($serviceName) {
- case 'pepipost':
- return new PepipostEmailService();
- case 'mailgun':
- return MailgunEmailService();
- default:
- return new PepipostEmailService();
- }
- }
- }
- // Su dung
- $emailService = EmailServiceFactory::create(config('email_service.service_name'));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement