Исправить неперехваченную синтаксическую ошибку неожиданный токен < в electron

#php #electron #front-controller

#php #electron #front-controller

Вопрос:

Я тестирую приложение electron, которое будет использовать php для некоторых бизнес-логик. Если я запущу приложение из моего стека MAMP, все будет работать правильно, но если я запущу приложение с помощью electron, я получу сообщение, uncaught syntax error unexpected token < которое ссылается на <!DOCTYPE html> мой файл шаблонов. Я читал об этой проблеме здесь, на SO, которая связана с путем к моим файлам js и css, но я не могу понять, как это исправить, потому что пути указаны правильно. У меня есть header.php файл, который содержит весь <head> код и требуется для всех файлов шаблонов, вызвана ли проблема этим?

header.php файл:

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="assets/css/bootstrap.min.css" type="text/css">
<link rel="stylesheet" href="assets/css/fontawesome-all.min.css" type="text/css">

<script type="text/javascript" src="assets/js/jquery.min.js"></script>
<script type="text/javascript" src="assets/js/bootstrap.bundle.min.js"></script>
</head>
<body>
  

dashboard.php файл шаблона:

 <?php
require_once 'header.php';
?>
<div class="container">
  <div class="row justify-content-center">

    <div class="col-lg-4">
      <div class="card">
        <div class="card-img-top text-center">
          <i class="fas fa-plus fa-2x"></i>
        </div>
        <a class="btn btn-link" href="add"><h4 class="text-uppercase">add info</h4></a>
      </div>
    </div>

    <div class="col-lg-4">
      <div class="card">
        <div class="card-img-top text-center">
          <i class="fas fa-search fa-2x"></i>
        </div>
      <a class="btn btn-link" href="search"><h4 class="text-uppercase">search info</h4></a>
      </div>
    </div>

  </div>
</div>

</body>
</html>

  

Ответ №1:

Ваш header.php файл представляет собой HTML-документ. Поскольку вам это требуется, оно будет интерпретироваться как PHP, что вызывает синтаксическую ошибку.

Либо создайте допустимый заголовочный файл PHP, либо распечатайте содержимое из header.php файл. Я бы не рекомендовал использовать более позднее.

Простым решением было бы:

  1. Переименуйте свой header.php в header.tpl (.tpl как в шаблоне)
  2. Измените вас dashboard.php
 <?php
print file_get_contents('header.tpl'); 
?>
...
  

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

1. Что вы имеете в виду под «допустимым файлом php»? Я хочу включить только html-код, который ссылается на таблицу стилей и js-скрипты. Можете ли вы показать альтернативный пример?