#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')