我会尽力描述我的问题。
比方说,我有这个类,其中有一个这样的方法:
class Article
...
protected function getTitle(): string
{
return 'This is a title';
}
然后我有另一个课程,扩展了上一个课程
class CustomArticle extends Article
protected function getTitle(): string
{
return 'This is a custom title';
}
我有一个数组,其中包含使用
获得的第一类的路径$classPaths = [Article::class]
然后将该信息存储在数据库中。另一个自定义类位于另一个文件夹(资源文件夹)中。
我以这种方式使班级
$article = new [path retrived from the database];
我想发生的事情是,如果我更改数据库上的路径,则可以设置自定义类,覆盖该方法,同时还可以继承Article类的所有其他内容。我试图在我的数据库上复制ArticleCustom类的路径,但是当我运行该程序时,出现此错误提示
Error : Class [the path to the custom class] not found
我尝试了所有路径:绝对路径,来自内容根目录的路径等等,都使用“ /”和“ \”
是否可能是因为自定义类继承了原始类的名称空间,但实际上不在该文件夹中?我尝试使用Article类的路径,并在其末尾添加“自定义”,但这不起作用
我看过laracast和其他stackoverflow帖子,但找不到答案。
执行此操作的正确方法是什么?尽可能保留我描述的结构。