2017-07-08 22 views
1

ファイルをエコーアウトできるテンプレートクラスがあります。 ファイルのアドレスをテンプレートクラスに与えて、それをエコーアウトします。 私は4つのファイル:インデックス、トピック、トピック、レジストリを持っていますが、それらのすべてが完璧ですが、topic.phpは空です。私のコードはレジスタコントローラファイル内のレジスタです。何をすればいいですか?ありがとうございました。PHPは自分のhtmlをファイル内で読むことができません。

<?php 
$template = new template('templates/register.php');//include the template 
//display template 
echo $template; 

答えて

0

あなたがそのコンテンツを含むためのようないくつかの他の目的のためのコードを使用したい場合は、代わりなら、私を知ってみましょうhttp://uk3.php.net/manual/en/function.include.php

を参照してくださいinclude('file_url');

を使用する必要があります

<?php 
    $template = file_get_contents('templates/register.php'); //include the template 
    //display template 
    echo $template; 

をお試しくださいそれは動作しません

+0

それは働いていましたが、それはHTML.myの問題を引き起こします:それは他のすべてのファイルのために働くが、topic.phpのために働くなぜ私は分からない??? –

+0

あなたが期待したもの –

+0

更新された回答を参照 –

0

それはlあなたは文字列ではなくオブジェクトをエコーし​​ようとしています。

このテンプレート機能では機能しますか?

/** 
* Render template 
* 
* @param string $fileName 
* @param array $data 
* @return mixed 
*/ 
function render($fileName, $data = array()) 
{ 
    ob_start(); 
    extract($data); 
    require $fileName; 
    $result = ob_get_contents(); 
    ob_end_clean(); 
    return $result; 
} 

使用

$template = render('templates/register.php'); 
echo $template; 
0

私は、なぜ答えとして投稿していますされ、十分な貢献を持っていけません。 は、あなたがあなたのHTMLは、すべてのページに挿入したい

include('templates/register.php'); 

を試してみました。私はこれがうまくいくと思います

0

私はこれが起こっている理由を発見しました。これは、クラスフォルダ内にテンプレートクラスとトピッククラスがあり、トピックが空であるためです。 PHPはこのディレクトリに行きます(私はなぜ!!!!)か分かりません..トピックファイル以外のトピッククラスをエコーアウトします。

関連する問題