私は私のClassPageを通して作成されたシンプルなテンプレートを持っています。クラスは呼び出され、テキストファイルからhtmlコードを読み込みます。ナビゲーション内でPHP変数をエコーしたいのですが、埋め込みPHPがブラウザのコンソールにコメントアウトされているだけです。 私はおそらく、読み込まれたファイルがサーバによって処理されていないと考えているので、PHPが処理されていないのはなぜですか?それとも本当にシンプルなものが欠けているのですか?後で組み込むためにPHPをテキストファイルに埋め込む方法は?
Heres the code: ClassPage - > getBodyこれは "superNav.txt"というファイルを取得します。返される文字列は、必要なHTMLヘッドタグなどと組み合わされて出力されます。
private function getBody() {
$text = "";
if ($this->specialUser) {
$text .= file_get_contents("Template/superNav.txt");
} else {
$text .= file_get_contents("Template/userNav.txt");
}
return $text;
}
これはテキストファイルです:これは私に問題を与えているラインである
<body>
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar"> <span id="glyph" class="glyphicon glyphicon-th-large"></span></button>
<a class="navbar-brand" href="#"><img alt="brand" id="brandLogo" src="Images/logo.png"></a>
<p id="navbarText" class="navbar-text">Webmin</p>
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav">
<li><a href="welcome-super.php">Home</a></li>
<li><a href="view-rota.php">Rota</a></li>
<li><a href="rota-administration.php">Rota Admin</a></li>
<li><a href="user-administration.html">User Admin</a></li>
<li><a href="rota-archive.php">Archive</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="my-account.php"><span class="glyphicon glyphicon-user"></span><?php echo $user->getName(); ?></a></li>
<li><a href="#"><span class="glyphicon glyphicon-log-out"></span> Log Out</a></li>
</ul>
</div>
</div>
</nav>
:
<li><a href="my-account.php"><span class="glyphicon glyphicon-user"></span><?php echo $user->getName(); ?></a></li>
PHPは、画面にブラウザコンソールを示されません。コードがコメントされていることを示します。
助けを歓迎します。前もって感謝します!このため
、あなたは(含める() 'と[バッファ]'使用することができますhttp://php.net/manual/ref.outcontrol.php)。しかし、 '$ user'があなたのインクルードファイルに定義されていないので、まだ問題があります。 'file_get_contents()'でファイルを読み込むと、ファイルにプレースホルダを置き、 'str_replace(MY_PLACEHOLDER、$ user-> getName()、$ text)'を使う方が簡単かもしれません。 'getBody()'はどのように呼び出されますか? –
挿入されたファイルの内容を変更しない場合は、 'include()'を使用してください。あなたのPHPコマンドは自動的に実行されます。バッファーは必要ありません。 – RST