我已经开始在我的Laravel应用程序中实现Model-View-Presenter模式,我遇到了无法从我的presenter类访问URL :: route服务的问题。我创建了一个"演示者" app目录中的目录。
以下是我的演示者类的代码:
namespace Presenter;
class ViewListingPresenter implements Presenter
{
public function present($response)
{
$model = new ViewListingModel();
...
$model->editButtonURL = URL::route('listings.edit', $response->id);
...
return View::make('listings.show', compact('model'));
}
}
我收到以下错误:
Symfony \ Component \ Debug \ Exception \ FatalErrorException
Class 'Presenter\URL' not found
在控制器和视图类中,我可以使用Route :: method或URL :: method等服务,但是如何从自定义目录中的自定义类访问这些服务?为了能够访问此服务,我需要包含哪些命名空间或类?
答案 0 :(得分:0)
您当前位于命名空间中,但正在尝试使用其外的类。由于URL
未使用任何命名空间,您可以在use URL;
行下方添加namespace Presenter;
。
答案 1 :(得分:0)
您的类使用Presenter
命名空间,而URL
属于根命名空间。所以你有两个选择:
一个。在声明你的课程之前添加:
use URL;
并在课堂内召唤:
URL::route();
B中。就在你的班级电话里面:
\URL::route();
你完成了!