0

こんにちは、私は今phpを学び、オートローディングをテストしていますが、うまくいきません。と の 2 つのファイルがstart.phpありmyClass.phpます。パスにあるファイルと必要なファイル./xampp/htdocsstart.php を開始する場合は、Autoloading を使用して、myClass.phpおよび this 関数を含めます。

ここに私のコード:

start.php

<?php
    function _autoload($classname){
        $filename = "./".$classname.".php";
        include_once($filename);
    }

    $obj = new myClass();
?>

myClass.php

<?php
    class myClass {

        public function _construct(){

            echo "Die Klasse wurde erfolgreich erzeugt";
        }
    }
?>

次のエラーが表示されます。

致命的なエラー: 7 行目の D:\Webserver\xampp\htdocs\start.php にクラス 'myClass' が見つかりません

私が間違っていること。

4

2 に答える 2

2

__autoload()はありません_autoload()。前面に 2 つの下線があります。

同じことがあなたの_construct()機能にも当てはまります。

注: PHP のマニュアルspl_autoload_register()では、関数の代わりに使用することを推奨して__autoload() います。これにより、柔軟性が向上します。また、この__autoload()機能は将来廃止される予定です。

于 2013-11-14T08:28:29.543 に答える
1

Need to use spl_autoload_register— 指定された関数を__autoload()実装として登録する

    function _autoload($class) {
            $filename = $classname.".php"; //assumed, your class file and other files are in same directory
            include_once($filename);
    }


    spl_autoload_register('_autoload');
于 2013-11-14T08:32:06.253 に答える