laravel 刀片 @include 不工作

2022-01-08 00:00:00 php laravel laravel-4 blade php-include

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

I am trying to include files in my homepage using blade syntax :-

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

这不起作用.

错误提示:-

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

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

I even tried including just the first page :-

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

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

But the normal php include is working fine :-

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

请帮忙

推荐答案

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

That's because that file is not in the app/views directory. When you call @include('filename'), Blade automatically looks for any file with that name, inside the apps/views directory. Also, you're not supposed to write the file extension, as Blade automatically looks for files with .blade.php and .php extensions.

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

If you want to use files from other directories on the @include tag, add the directory to the paths array, on app/config/view.php. In your case, it'd be something like this:

app/config/view.php

<?php

    // ...

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

然后,你会在 Blade 上这样称呼它:

Then, you'd call it on blade like so:

@include('articles/first-post')

相关文章