Laravel 4:在包中使用视图

时间:2013-02-03 22:41:07

标签: php laravel laravel-4

我在Laravel 4中创建了一个非常基本的应用程序,这是我将在各种项目中重复使用的东西,所以在我走得太远之前将它转换为包是有意义的,但是我很难做到让它工作的变化,我认为主要是由于弄清楚如何访问应用程序中通常可用的各种对象,例如View :: make

我在应用中使用了以下代码:

class PageController extends BaseController {

public function showPage($id)
{
            //do stuff
            return View::make('page/showPage')
                 ->with('id', $id)
                 ->with('page', $page);
}

对于包装我有以下内容:

use Illuminate\Routing\Controllers\Controller;
use Illuminate\Support\Facades\View;

class PageController extends Controller {

public function showPage($id)
{
      //do stuff        
      return View::make('page/showPage')
                 ->with('id', $id)
                 ->with('page', $page);
}

但是,这不会加载位于以下位置的刀片模板:

workbench/packagenamespace/package/src/views/page/showPage.blade.php

这也不起作用:

return View::make('packagenamespace/package/src/page/showPage')

另外,我想知道我在使用外观对象的use语句中做了什么,对我来说,似乎应该有一种更简洁的方式来访问View对象之类的东西?

1 个答案:

答案 0 :(得分:15)

您应该阅读文档:http://four.laravel.com/docs/packages

具体说明从包中加载视图的部分;)

return View::make('package::view.name');

如果您不想使用:

use Illuminate\Support\Facades\View;

只是做:

use View;

甚至没有使用声明:

\View::make('package::view.name');