0

PEARがこれを行う理由:

require_once 'HTML/QuickForm2/Exception.php'; 

これの代わりに?:

require_once dirname(__FILE__) . '/Exception.php';

私がこの主題について見つけることができた唯一のものはこれです:

https://pear.php.net/bugs/bug.php?id=17517

これは、「PEAR標準と設計ガイドラインとは完全に反対の方向」であると想定されています。私の質問は...なぜですか?

4

1 に答える 1

1

PEARはインクルードパスに大きく依存しているため、インクルードパスの前に別のディレクトリを追加するだけでクラスを上書きできます。

例:

require_once 'Foo/Bar.php';

Foo/Bar.phpで指定された各ディレクトリで検索しますinclude_path。独自のパッチを提供したい場合は、次のFoo/Bar.phpようにすることができます。

set_include_path(__DIR__ . '/patches/' . PATH_SEPARATOR . get_include_path());

Foo/Bar.phpディレクトリにファイルを作成しますpatches/Foo_Bar使用しているライブラリクラスは、変更を加えることなく、カスタムクラスを自動的に使用するようになりました。

于 2013-03-20T09:41:12.343 に答える