【发布时间】:2019-12-12 09:31:54
【问题描述】:
我正在使用 Laravel 5.8,并且正在尝试从 Vendor 目录修改包类。为了实现这一点,我创建了一个扩展 Vendor 类的新类,我可以替换其中的命名函数——一切都很好。
但是,原来的类“使用”了一个类,我在我的新类中模仿了它,如下所示:
use VendorName\PackageName\OriginalController
// use VendorName\PackageName\SomeClass as StoreRequest; How can I replace this...
use App\Http\Requests\NewRequestClass as StoreRequest; // ... with this..? (not working)
class NewController extends OriginalController {
private function somefunction(StoreRequest $request){ // This doesn't work; it is still using the StoreReqest defined in OriginalController
// ...
}
}
查看 cmets- 是否可以覆盖它?
【问题讨论】:
-
我从未真正尝试过,但我怀疑您可以通过设置自定义自动加载器来专门捕获原始类何时被请求并加载到您自己的文件中来做到这一点
-
您的
NewRequestClass是否扩展StoreRequest?