我阅读了几篇关于在 php 中使用命名空间的文章,但我还没有得到它。我有 3 个文件:
script.php 和 dog.php 位于同一个根文件夹,abstr。动物类.php 位于 cls 文件夹中,而 dog 扩展了动物。
资料来源:
cls/Animals.php:
namespace cls;
abstract class Animals { .. }
Dog.php
(没有命名空间,因为它位于根文件夹中):
class Dog extends Animals {...}
script.php
:
function __autoload($cls){
$file = str_replace('\\',DIRECTORY_SEPARATOR,$cls).".php";
if(file_exists($file)){
require_once $file;
} else {
throw new Exception("File not found: ".$file);
}
}
$dog = new Dog("German Shepard");
但是我得到Not found exception
了类 Animals 并且$file
根本Animals.php
没有命名空间......
谁能告诉我如何获取命名空间并将其包含在
__autoload
函数路径中?还是对父子使用相同的命名空间更好?
据我了解,正确的命名空间=文件位置?