使用Slim和Render导致PHP问题

时间:2015-10-23 12:58:16

标签: php view twig slim

我正在使用slim框架来创建一个网站,并在我的项目中拥有视图和树枝。在我的页面中,我使用php来帮助促进在我的网页中呈现的HTML。一个例子如下

<html>
 <head>
   <title>I ain't afraid of no bugs!</title>
   <link rel="shortcut icon" type="image/x-icon" href="../_images/_logos/bug-hunter-icon.ico" />
   <link rel="stylesheet" type="text/css" href="../_css/home.css">

   <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js">    </script>
   <script type="text/javascript" src="_javascript/login.js"></script>
   <script type="text/javascript" src="_javascript/sign_up.js"></script>
  </head>
  <body>
    <?php require 'header_login.php' ?> //problem
    <!--div banner, content-area, footer -->
  </body>

</html>

然后我通过

呈现此页面
$app->render('home.php');

但是,header_login.php中的html未加载到页面上。相反,当我检查元素时,页面看起来像

The other html displayed is correct

我不明白为什么我链接的代码没有显示在那里。导入的代码是一个简单的导航栏。但即使我在页面上放置echo“lala”,也不会显示任何php。

2 个答案:

答案 0 :(得分:1)

阅读Twig文档: http://twig.sensiolabs.org/doc/tags/include.html

{% include 'header_login.php' %}

或者看看SlimPHP - PHP视图

https://github.com/slimphp/PHP-View

您可以看到Twig View

的不同之处

https://github.com/slimphp/Twig-View

答案 1 :(得分:0)

如果home.php文件与<?php require __DIR__ . '/header_login.php' ?>位于同一目录中,您应该可以将其更改为

Header set X-Content-Type-Options "nosniff"

这告诉PHP从与当前文件相同的目录加载它,而不是正在执行的脚本的目录。