クラスと、クラス内のいくつかのプロパティとメソッドを含むファイルがあります。
別の php ファイルからそのクラスのプロパティとメソッドにアクセスする必要があります。クラスにファイルを含めたかったのですが、そのファイルにはhtmlを生成するエコーが含まれているため、この状況では正しい方法ではありません。古いもののプロパティとメソッドにのみアクセスしたい。
クラスと、クラス内のいくつかのプロパティとメソッドを含むファイルがあります。
別の php ファイルからそのクラスのプロパティとメソッドにアクセスする必要があります。クラスにファイルを含めたかったのですが、そのファイルにはhtmlを生成するエコーが含まれているため、この状況では正しい方法ではありません。古いもののプロパティとメソッドにのみアクセスしたい。
他の人が言ったように、そのクラスだけで独自のファイルにクラスを定義し、それを含めることをお勧めします。
someClass.php
<?php
class SomeClass{
public __Construct(){
echo "This is some class";
}
}
他のページでは、クラスをインクルードしてインスタンス化するだけです。
<?php
include('someClass.php');
//do something
ただし、何らかの理由でクラスを使用してページを変更できない場合は、出力バッファリングを使用して、出力なしでページを含めることができます。
<?php
//start a buffer
ob_start();
//include the page with class and html output.
include("PageWithClassAndHTMLOutput.php");
//end the buffer and discard any output
ob_end_clean();
$cls = new ClassFromIncludedPage();
$cls->someMethod();
インクルードされたページで定義された変数を設定/上書きし、ページ全体を解析し、それが行う処理を行うため、これは理想的ではありません。私はこのメソッド (クラス用ではなく同じアイデア) を使用して、含まれているページをキャプチャし、画面に表示するように既に書き込まれているときにメールで送信するなどのことを行いました。
したがって、クラスにはコンストラクターがあります。クラスのコンストラクターを削除し、クラス ファイルをページに含めます。オブジェクトをインスタンス化し、必要なプロパティまたはメソッドを呼び出します。
$object->property;
$object->method();