В laravel 5.4 я делаю компонент уведомления.У меня есть три типа уведомлений (userNotify, orderNotify, otherNotify), и все они имеют те же свойства, что и notifyTitle, notifyContent, notifyImage ... и я установил все из них.
<?php
class NotifyFactory {
public static function make($type){
$className = 'App\\Classes\\'.$type.'Notify';
if( class_exists($className) )
return new $className();
throw new \Exception('error');
}
}
?>
<?php
class BaseNotify implements IBaseNotify {}
>?
<?php
class UserNotify extends BaseNotify {}
>?
<?php
class OrderNotify extends BaseNotify {}
>?
<?php
class OtherNotify extends BaseNotify {}
>?
, если я хочу использоватьлюбой тип уведомления, который я делаю:
NotifyFactory :: make ('OrderNotify');
он вызывает OrderNotify, и я хочу установить содержимое по умолчанию для свойства notifyContent впанель и я хочу получить доступ ко всем классам, которые реализовали IBaseNotify, но функция get_declared_classes () не предоставляет классы Notify.
Я знаю, что должен зарегистрировать этот класс в поставщике услуг, но я не использую внедрение зависимости, поэтому я нене знаю, как я могу зарегистрироваться.
Я хочу получить доступ ко всем классам, реализованным интерфейсом IBaseNotify, и установить поддержку по умолчанию.Как я могу это сделать?