1

PHP でクラスを自動ロードする際に問題があります。

index.phpは書いています(それは最も単純なものです):

function _autoload($class_name) {
  require_once $class_name . '.php';
}

$a = new Cont();

私のCont.phpファイルは次の場所にありPROJECT_ROOT/assets/core/Contr.phpます。

その結果、私のindex.phpファイルは致命的なエラーをスローします:

Fatal error: Class 'Cont' not found in /var/www/bill/index.php on line 15
4

2 に答える 2

3

__autoload()アンダースコア文字を逃したように見えるはずです。

あれは..

function __autoload($class_name) {
  require_once $class_name . '.php';
}

$a = new Cont();

PHPマニュアルからのヒント...

spl_autoload_register() は、クラスを自動ロードするためのより柔軟な代替手段を提供します。このため、__autoload() の使用は推奨されておらず、将来的に非推奨または削除される可能性があります。

于 2014-04-30T13:04:16.300 に答える
1

まず、それは__autoload- 2 つのアンダースコアです。

第二に、その手法はお勧めできません -spl_autoload_registerより良い選択肢です。

第三に、require_once 'assets/core/' . $class_name . '.php';ファイルがPROJECT_ROOT/assets/core.

于 2014-04-30T13:05:04.487 に答える