在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 prop的默认内容,我想访问所有实现IBaseNotify的类,但get_declared_classes()函数没有提供Notify类。
我知道我必须在服务提供商中注册该类,但是我不使用依赖注入,所以我不知道如何注册。
我想访问实现了IBaseNotify接口的所有类并设置默认属性。我该怎么办?