синтаксическая ошибка, неожиданная ‘, ‘в поле зрения, но нет ‘, ‘при просмотре файла

#php-7 #laravel-5.8

#php-7 #laravel-5.8

Вопрос:

Я получаю ошибку

 syntax error, unexpected ',' (View: /home/vagrant/code/JCSE/resources/views/comments/caConfirm.blade.php)
  

когда я просматриваю следующий блейд-файл:

 @extends{'templates.layout')
@section('title')
    Comment Submitted
@endsection
@section('content')
    @lang('comments.CA_CONFIRM')
    @lang('jrnl.ADMIN_SIG')
@endsection
  

Вы увидите, что в представлении нет «,», поэтому я не могу понять, в чем проблема. Ошибка по-прежнему возникает с полностью пустыми разделами.
Я получаю ошибку, когда вызываю представление непосредственно из маршрута:

 Route::get('/caConfirmTest', function(){return view('comments.caConfirm');});
  

Обычный файл шаблона довольно большой, но не выдает ошибок ни с какими другими представлениями, а представление по-прежнему выдает ошибку с минимальным шаблоном:

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="description" content="">
    <meta name="author" content="">
    <title>
        @yield('title')
        @section('title')
            {{ config('jrnl.shortName') }}
        @endsection
    </title>
</head>
<body>
@yield('content')
</body>
</html>
  

Любая помощь приветствуется!

Редактировать

Следуя предложению morph, ошибка в скомпилированном представлении, похоже, появляется после директивы @endsection, при этом выделяется последняя из следующих строк:

 <?php $__env->stopSection(); ?>

<?php echo $__env->make(, IlluminateSupportArr::except(get_defined_vars(), ['__data', '__path']))->render(); ?><?php /**PATH /home/vagrant/code/JCSE/resources/views/comments/caConfirm.blade.php ENDPATH**/ ?>
  

$ __env-> make(, выглядит подозрительно, но я не смог отследить, что это означает.

Комментарии:

1. Лучше всего посмотреть на скомпилированные блейд-файлы, на которые, я предполагаю, укажет ваша ошибка. Я считаю, что они заканчиваются в storage/framework/views

2. Спасибо за предложение morph — это продвинуло меня немного дальше (см. Мою правку), но я все еще застрял…

3. У вас опечатка: @extends{'templates.layout') — первая фигурная скобка должна быть обычной скобкой. Я попробовал в проекте Laravel и подтвердил, что опечатка вызовет сообщение об ошибке, которое вы видите.

4. Большое спасибо — мне действительно трудно определить разницу между { и ( на моем дисплее, но я должен был увидеть это раньше! По крайней мере, я знаю, что искать в следующий раз.

Ответ №1:

Ошибка опечатки в синтаксисе блейда

 Change this 

@extends{'templates.layout')

to this

@extends('templates.layout')