5

我正在尝试使用刀片语法在我的主页中包含文件:-

@foreach($data as $articles)
    @include(app_path().$articles->path)
    <br />
@endforeach

这是行不通的。

错误说: -

View [/var/www/blogproject/project/app/pages/articles/first-post.php] not found

我什至尝试只包括第一页:-

@include(app_path().'/pages/articles/first-post.php')

但是正常的 php 包含工作正常:-

<?php include(app_path().'/pages/articles/first-post.php'); ?>

请帮忙

4

1 回答 1

20

那是因为该文件不在app/views目录中。当您调用 时,Blade 会自动在apps/views目录@include('filename')中查找任何具有该名称的文件。此外,您不应该编写文件扩展名,因为 Blade 会自动查找带有和扩展名的文件。.blade.php.php

如果您想使用@include标签上其他目录中的文件,请将目录添加到路径数组中的app/config/view.php上。在你的情况下,它会是这样的:

应用程序/配置/view.php

<?php

    // ...

    'paths' => array(
        __DIR__.'/../views',
        __DIR__.'/../pages'
    );

然后,你会像这样在刀片上调用它:

@include('articles/first-post')
于 2014-01-31T09:09:32.240 回答