【发布时间】:2019-08-05 17:01:58
【问题描述】:
我是 Laravel 的初学者,我正在练习将以前的(简单)网站转换为 Laravel。
基本上,我创建了一个具有 HTML 结构的模板,并使用 @includes 和 @yield
更改了主要内容html中有趣的部分template.blade.php是这样的
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<!-- Title -->
<title>@yield('title')</title>
....
....
<!-- CSS Customization -->
<link rel="stylesheet" href="/assets/css/custom.css">
@yield('css')
....
....
@include('include._header')
@include('include._test_script')
@include('include._footer')
....
....
<!-- JS Customization -->
<script src="/assets/js/custom.js"></script>
@yield('js')
路由器调用包含模板的test.blade.php。此刀片文件有一些自定义 php 代码,其中包含 $extra_script 变量
<?php $extra_script = " alert(0); console.log(0);";?>
@extends('layouts.template')
@section('css')
....
@endsection
@section('js')
...
<script>
{!! $extra_script !!}
</script>
@endsection
加载此页面,脚本运行良好,我看到警报消息的内容为 0。
现在我正在尝试将 $extra_string 更新到 /include/test_script.blade.php 文件中,但它没有工作。
这个包含刀片文件是这样的:
@php
$extra_script = " alert(1); console.log(1);";
@endphp
or
<?php $extra_script = " alert(1); console.log(1);"; ?>
结果没有错误,仍然显示 alert(0)。
我知道在刀片模板中但在控制器中包含 PHP 代码并不优雅,但这是一种快速且快速的移植,可以在一段时间内使网站上线。
如何在视图中修复它?
【问题讨论】:
标签: php laravel laravel-blade