【问题标题】:Laravel 4: Route packageLaravel 4:路由包
【发布时间】:2014-02-04 11:52:04
【问题描述】:

我正在尝试将路由放入包中,并且在阅读以下内容后我可以在包中运行路由:http://laravel.com/docs/packages#package-routing

包中的示例工作路线:

Route::get('pack', function()
{
    return 'It works!!!';
});

现在我能够正确地从路线返回并显示“它有效!!!!”在网页上。但是,如何设置路由以显示包中的文件?我尝试使用return View::make('test');,但没有成功。

谢谢。

【问题讨论】:

    标签: php laravel-4


    【解决方案1】:

    将文件放入src/views文件夹并像这样加载它:

    \View::make('packageName::test');
    

    【讨论】:

    • 感谢您的回答。但它说:No hint path defined for [MyPackage]。如何定义路径?
    • 你记得把packageName换成你的包名吗?您是否致电您的服务提供商$this->package()?您是否在app/config/app.php 中包含了您的服务提供商?
    • 是的,我确实在app/config/app.php 中包含了服务提供者,在MyPackageServiceProvider.php 的启动函数中添加了$this->package('MyVender/MyPackage');View::addNamespace('MyPackage', __DIR__.'/../../Views');。但是现在,我收到Class 'MyVender\MyPackage\View' not found 错误。
    • 反斜杠表示您正在访问根命名空间。大多数教程都没有提到它,因为在您的常规应用程序中,即模型、控制器和所有内容中,您实际上位于根命名空间中。但是,当你开始一个包时,你就离开了。
    • 只是补充:假设你的包命名空间是MyVendor/MyPackage。当您调用View::make() 时,您实际上是在尝试访问MyVendor/MyPackage/View 类。反斜杠将您送回根命名空间。
    猜你喜欢
    • 2013-01-15
    • 2015-02-06
    • 2013-05-22
    • 2013-05-27
    • 2013-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-20
    相关资源
    最近更新 更多