私の質問をどのように公式化するかはわかりませんので、あまり有益ではないこのタイトルのために事前に申し訳ありません。
ここに問題があります。私は同じディレクトリにいくつかのファイルを持っている、それらのそれぞれはクラスの所有者です。私がクラスのいずれかを継承するとき、私はどのファイル(またはフォルダのようなもの)を知る必要があるのですか?
私が来た解決策は本当に好きではありませんが、正確に何を意味するのかをまだ示していません。拡張工事からの子クラス情報の取得
foo.php
class Foo {
}
bar.php
include_once 'bootstrap.php' ;
class Bar extends Foo {
}
$bar = new Bar() ;
bootstrap.phpの
function __autoload($class) {
$trace = debug_backtrace() ;
// Here i've got the directory i need:
$folder = dirname($trace[ 0 ][ 'file' ]) ;
}
フォルダ名を取得するために、他の(適切な)方法はそれdebug_backtrace原因があり、実際にはこの種の操作のためのものではありません。また、パフォーマンスの観点からも良いものではありません。
制限:PHP 5.2.12
はこれがありますdebug_backtrace()の完全に許容される使用。 PHPのマニュアルページには、同様の目的でそのマニュアルを使用している人の例がたくさんあります。 –
見つかったディレクトリ名をどのように使用するかを説明してください。すべての目的。 –