私はこの辺りで新しいです、そして誰かが私を助けることができるかどうか私は簡単な質問があります。簡潔にするために、私はWebサイトで作業しており、ファイルをディレクトリで区切っており、現在のページの名前に応じてファイルを含めています。たとえば、次のようなメインページのdashboard.phpがあります。
include $file1;
include $file2;
include $file3 etc.
ここで、オブジェクトを作成するときに自動的に必要なすべてのファイルを含むクラスページを使用しようとしています。私の問題は、クラスの助けを借りてファイルをインクルードすると、インクルードされたファイルでオブジェクトのインスタンスが見つからないように見えることです。例:$page=new Page("Test") includes $file1,$file2
etc....今$file1でオブジェクト$pageを使おうとすると、それが見つかりません。誰かがこの問題の解決策を持っているか、それがウェブページをデザインする間違った方法だと思うなら、私に知らせてください。
インクルードの問題ではありません。インクルードは機能しています。オートロードを使用しています。問題は、そのクラスに含まれるクラスのオブジェクトメソッドを確認することです。もっと明確にしましょう:
main.php :
$page=new Page("Test");
Page.class.php :
__construct($title)
{
include($file1);
include($file2);
}
$file1:
echo "test"; // working
$file2:
echo $page->getTitle() // doesn't work, don't worry about the method it exists and works