2016-06-28 8 views
0

htmlページ上のPHP関数からテキストを印刷するを持つことは、ここで私が起こっていないものの例です私は試したが、私はページに任意のテキストを印刷する機能テストを取得することはできません。私が使っていた実際のウェブページでは、以下の行は含まれていませんでした。私はこれを理解するために過去1時間を探し回っていましたが、何が間違っていますか?は困難

+0

あなたが機能を持っていません。クラスにはメソッドがあります。そのクラスをインスタンス化したり、メソッドを呼び出すことはありません。未定義の関数を呼び出そうとしています。 '$ foo = new Common; $ foo-> test() 'があなたの欠けているものです。そして、あなたは "致命的なエラー:定義されていない関数への呼び出し"エラーを出すことについて言及していないので、間違いなくerror_reportingとdisplay_errorsを無効にしていることになります。彼らはdevel/debugシステム上で決してオフにすべきではありません。 –

答えて

3

あなたは「閉鎖もこのためのクラスが必要いけない欠けている、あなただけの関数定義が必要です

<?php 
function test() { 
    echo 'asdf'; 
} 
?> 
3
<?php 
class Common { 
    function test() { 
     echo 'asdf'; // missing a ' closure added 
    } 
}?> 

あなたは、このクラスのオブジェクトを使用してこの機能にアクセスすることができます

<?php 
require_once("common.php"); 

// instantiate the class before you use it. 

$common = new Common(); // Common is a object of class Common 
?> 

<html> 
<body> 
    <?php echo $common->test(); ?> 
</body> 
</html> 

$common変数を使用したくない場合は、このようにメソッドを静的にすることができます。

<?php 
class Common { 
    static function test() { 
     echo 'asdf'; 
    } 
}?> 

は、その後、あなたがメソッドを呼び出すためにしなければならないすべては、次のとおりです。

<html> 
<body> 
    <?php echo Common::test(); ?> 
</body> 
</html> 
+0

dminonesの回答も有効です。使用された名前で判断すると、これはテストコードであり、実際の使用目的ではありません。それは本当にあなたが達成しようとしているものに依存します。 – wesleywmd