访问包视图

时间:2017-08-31 06:28:08

标签: php laravel view laravel-5.4

我尝试使用自定义程序包的视图而不将其添加到behave feature/first_behave.feature conf文件中。我创建了以下服务提供程序并将其添加到view.php文件中。

app.php

我尝试使用class FooServiceProvider extends ServiceProvider { public function boot() { $this->loadViewsFrom(__DIR__.'/../views', 'foo'); } public function register() { } } 的包视图。视图文件位于' packages / foo / bar / views / test.blade.php'中。但是Laravel还没有找到视图文件。还有什么需要做的吗?顺便说一句,我不需要将视图文件发布到view('foo.test')文件夹。

1 个答案:

答案 0 :(得分:0)

在您正在执行的操作中加载视图后立即执行:

class FooServiceProvider extends ServiceProvider
{
    public function boot()
    {
      $this->loadViewsFrom(__DIR__.'/../views', 'foo');
    }
    public function register()
    {
    }
}

现在检查相应文件夹中的服务提供商负载,因为您的packages/foo/bar/views/teset.blade.php服务提供商需要packages/foo/bar/providers providersother folder name teset我刚刚引用了一下,请确保拼写检查,你有一个名为test的刀片文件,你正在调用return ('foo::test') ,最后你可以在控制器中调用这个视图,如下所示:

use Illuminate\View\FileViewFinder;
use Illuminate\View\ViewServiceProvider;

class WebViewServiceProvider  extends ViewServiceProvider
{

    /**
     *  Register View Folder
     *
     * @return void
     */
    public function registerViewFinder()
    {

        $this->app->bind('view.finder', function ($app) {
            $paths = 'your view directory';

            return new FileViewFinder($app['files'], array(base_path($paths)));
        });
    }
}

<强>更新 根据您的要求,您需要在配置中进行更改,然后您需要有这样的服务提供商:

AVAudioRecorder

希望这有帮助。