【问题标题】:Laravel Livewire inline component return syntax errorLaravel Livewire 内联组件返回语法错误
【发布时间】:2020-09-04 18:23:14
【问题描述】:

我正在使用 Laravel 7

当我使用此命令创建内联组件时,

php artisan livewire:make HelloWorld3 --inline

它返回一个语法错误

ErrorException 语法错误,文件意外结束,期待 变量 (T_VARIABLE) 或 heredoc 结束 (T_END_HEREDOC) 或 ${ (T_DOLLAR_OPEN_CURLY_BRACES) 或 {$ (T_CURLY_OPEN)(查看: /var/www/html/l7livewire/resources/views/welcome.blade.php)

我的 HelloWorld3.php 代码位于 ap/http/livewire/

<?php

namespace App\Http\Livewire;

use Livewire\Component;

class HelloWorld3 extends Component
{
    public function render()
    {
        return <<<'blade'
            <div>
                {{-- Be like water. --}}
            </div>
        blade;
    }
}

【问题讨论】:

    标签: laravel heredoc laravel-livewire


    【解决方案1】:

    听起来您在 PHP 7.2 上运行 - 而此语法要求您在 PHP 7.3 上运行。

    PHP 7.3 引入了flexible heredoc syntax,它可以缩进heredoc 字符串的结束分隔符(“blade;”)——在此之前,结束分隔符根本不能缩进。

    您在 PHP 7.2 上工作的更正代码块如下:

    class HelloWorld3 extends Component
    {
        public function render()
        {
            return <<<'blade'
                <div>
                    {{-- Be like water. --}}
                </div>
    blade;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-03-20
      • 2022-08-23
      • 2016-05-19
      • 2015-09-03
      • 2014-11-15
      • 2021-02-14
      • 2020-06-16
      • 2023-01-16
      • 2020-07-03
      相关资源
      最近更新 更多