0

嗨,我现在学习 php,我测试了自动加载,但它不起作用。我有两个文件:start.phpmyClass.php. 我在路径中拥有的文件./xampp/htdocs和我想要的文件如果我开始 start.php 使用自动加载来包含myClass.php和这个函数。

这是我的代码:

开始.php

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

    $obj = new 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

It's __autoload(), not _autoload(). With two underlines in front.

The same goes for your _construct() function.

Note: The PHP manual recommends to use spl_autoload_register() instead of the __autoload() function because it allows more flexibility. Also, the __autoload() function is expected to become deprecated in the future.

于 2013-11-14T08:28:29.543 回答
1

需要使用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 回答