0

オートローダー機能を使用したことがないクラスを導入したい場合は、常にインクルードを使用してきました。何らかの理由で関数を使用すると、引き続きエラーが発生します。

" 警告: include_once(classes/user.class.php): ストリームを開けませんでした: No such file or directory in /home/mjcrawle/phpfiles/preprod/test/index.php on line 6 Warning: include_once(): Failed opening 6 行目の /home/mjcrawle/phpfiles/preprod/test/index.php に含めるための 'classes/user.class.php' (include_path='.:/usr/share/php:/usr/share/pear')致命的なエラー: クラス 'User' が /home/mjcrawle/phpfiles/preprod/test/index.php の 42 行目に見つかりません"

これは、私のphpインクルードがどのように見えるかです。

require_once('classes/ registereduser.class.php'); 

これは、動作しないオートローダーです。私のクラスの最初の文字はキャップなので、文字列を使用して下げています.

function autoloader($class){
     include_once('classes/'.strtolower($class).'.class.php');
     }

spl_autoload_register(オートローダー);

これについて何が間違っているのか、私はそれを理解することができません。

4

1 に答える 1

0

いくつかのヒント: - ディレクトリ「classes」がインクルード パスにありません。php はそこで autoload を検索するため、何が問題なのかがわかります... - set_include_path 関数を使用して、クラス ディレクトリをインクルード パスに追加します。

私は自分の携帯電話を使用していて、キーボードが面倒なので詳しく説明できません。

于 2012-09-23T13:17:21.957 に答える