0

include_once または include/require を使用せずに、現在のディレクトリ内の他の php ファイルで宣言された関数を参照するにはどうすればよいですか? fopen を使用するのと同じように。

関数に含まれていないコードを含む php ファイルの内容を含めると、混乱する可能性があります。関数の使用法がその定義に自動的にリンクされるとよいでしょう。

ディレクトリからすべてのPHPファイルを含める方法も確認しましたか? それを行うにはいくつかのコードが必要です。

この問題の検索用語が一般的すぎるため、インターネットのどこでもこの答えを見つけることができません。

4

3 に答える 3

3

最も論理的なアプローチは、OOP とautoloadingを使用することです。

そうすれば、実際に使用するクラスのみをロードできます。

それ以外の場合は、リンク先の質問から受け入れられた回答が道です。

于 2012-09-27T17:07:32.997 に答える
1

glob を使用してディレクトリをトラバースし、それらを含めることができます。

$phpfiles = glob('mydir/*.php');
foreach($phpfiles as $file)
  do_something_with_the_file($file) // why not include_once $file ?

他のファイルの関数を参照しているため、オートローダーはクラスで動作するため、オートローダーを使用できません。クラスの自動ロードは、はるかに優れたソリューションです。

于 2012-09-27T17:05:55.067 に答える
0

クラスと OO vs Procedural の使用に熱心な場合、これには、呼び出されているクラスと同じ名前のファイルが含まれ、不要なクラス ファイルはディレクトリに含まれません。

サイト/アプリケーションのルート ディレクトリから呼び出されます。

define( "APP_PATH", dirname( __FILE__ ) ."/" );

function my_autoloader($class)
{
    include 'core/classes/' . $class . '.class.php';
}
spl_autoload_register('my_autoloader');

すべてのクラスを同様のディレクトリ構造に保持すると仮定します。

サイト/コア/クラス

あなたはアイデアを得る。

于 2012-09-27T17:07:31.933 に答える