【发布时间】:2021-02-14 17:35:51
【问题描述】:
我在公用文件夹中创建文件并尝试包含刀片文件
<?php include('../resources/views/template/header.blade.php'); ?>
它不能正常工作,此时 css 不渲染。 谁能帮我解决这个问题
【问题讨论】:
标签: laravel laravel-blade
我在公用文件夹中创建文件并尝试包含刀片文件
<?php include('../resources/views/template/header.blade.php'); ?>
它不能正常工作,此时 css 不渲染。 谁能帮我解决这个问题
【问题讨论】:
标签: laravel laravel-blade
这将不起作用,因为如果您直接运行/包含 PHP 文件,则不会执行 laravel 刀片模板中的 @if 等。它应该总是被称为
view("my_page");
此视图函数获取 my_page.blade.php 文件中的脚本并对其进行处理并生成结果。
如果您想创建一个公共路由,例如 yoursite.com/my_page.php,那么最好为“/my_page.php”创建一个路由,然后使用 view 方法返回刀片文件。例如
Route::get('/my_page.php', function () {
return view('my_page');
});
我不建议你将php文件直接放在public文件夹中。
【讨论】:
html 和 blade 模板之间存在一些差异。 Laravel 遵循 blade 引擎。
当你使用 php core include() 函数时,它会将模板解析为 plain php 和里面的所有刀片语法(例如@extends、@if...@else 等)该文件将不起作用。
我猜你需要的是刀片中的 include() 函数,它在刀片模板中被寻址为 @include()。
将代码替换为以下内容,
@include('template/header.blade.php')
您不需要添加 resources/views,因为默认情况下 @include() 导航到该目录。
【讨论】: