从自定义类访问Laravel URL :: Route

时间:2014-07-24 16:06:55

标签: php laravel

我已经开始在我的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等服务,但是如何从自定义目录中的自定义类访问这些服务?为了能够访问此服务,我需要包含哪些命名空间或类?

2 个答案:

答案 0 :(得分:0)

您当前位于命名空间中,但正在尝试使用其外的类。由于URL未使用任何命名空间,您可以在use URL;行下方添加namespace Presenter;

答案 1 :(得分:0)

您的类使用Presenter命名空间,而URL属于根命名空间。所以你有两个选择:

一个。在声明你的课程之前添加:

use URL;

并在课堂内召唤:

URL::route();

B中。就在你的班级电话里面:

\URL::route();

你完成了!