是否可以在视图文件夹外使用laravel刀片?

时间:2013-06-13 04:39:23

标签: wordpress laravel laravel-blade

我在公共子文件夹中有一个wordpress博客。

我想使用与使用刀片的laravel视图相同的布局。

无论如何要实现这个目标吗?

3 个答案:

答案 0 :(得分:5)

你只需要将你的路径添加到app / config / view.php,刀片会自动找到它们

答案 1 :(得分:1)

我设法使用以下功能执行此操作:

function bladeCompile ($from, $to, $data)
{
    $fs = new \Illuminate\Filesystem\Filesystem;
    $b = new \Illuminate\View\Compilers\BladeCompiler($fs, __DIR__);
    $src = $b->compileString (file_get_contents($from));

    $isPhp = false;
    if (substr( $src, 0, 5 ) === "<?php")
    {
        $isPhp = true;
        $src = substr($src, 5);
    }
    $tempFileName = tempnam("/tmp", "blade-compile");
    file_put_contents($tempFileName, $src);

    ob_start();

    extract($data);

    include $tempFileName;
    $out = ob_get_clean();
    if ($isPhp)
    {
        $out = '<?php'.$out;
    }
    file_put_contents($to, $out);
}

然后使用:

$data = array ( // equivalent to the 'with' function.
    'parameter' => 'value';
    );
bladeCompile ('input.blade.file', 'result.file', $data);

答案 2 :(得分:1)

您可以定义一个自定义名称空间以便于使用:

// Register your custom namespace in your AppServiceProvider in the boot() method
view()->addNamespace('custom_views', app_path('custom_path'));

// usage:
view('custom_views::some.view.name')