嗨,我现在学习了php,我测试了Autoloading,但是它不起作用。我有两个文件:start.php和myClass.php。我在路径./xampp/htdocs中的文件--如果我启动start.php --使用Autoloading来包含myClass.php和这个函数。
在这里,我的守则:
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行的myClass中找不到类‘D:\Webserver\xampp\htdocs\start.php’
我做错了什么。
发布于 2013-11-14 08:32:06
需要使用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-14 08:28:29
我是__autoload(),不是_autoload()。前面有两个下划线。
_construct()函数也是如此。
注意: PHP手册建议使用spl_autoload_register()而不是__autoload()函数,因为它允许更多的灵活性。此外,__autoload()函数预计在未来将不再受欢迎。
https://stackoverflow.com/questions/19972795
复制相似问题