gpt4 book ai didi

php - 如何在php中将自动加载与命名空间一起使用?

转载 作者:行者123 更新时间:2023-12-04 17:00:35 25 4
gpt4 key购买 nike

我想使用 __autoload 功能..
例如我在同一个文件夹中有两个文件:

index.php, MyClass.php

MyClass.php 是这样的:

// filename: MyClass.php
namespace SomeNameSpace;

class MyClass{
public static function helloWorld(){ echo 'Hello'; }
}

所以我想做的是使用 __autoload 来加载这个类。但是当我这样做时:
function __autoload($className){
include($className.'.php');
}

自动加载不起作用,因为该类在命名空间中。

有什么帮助吗?

index.php 的示例:
//index.php
//the autoload method above
SomeNameSpace\MyClass::helloWorld();

最佳答案

当你在做

include('$className'.'.php');

实际上,您正在寻找一个名为“$classname.php”的文件。删除单引号。

尝试:
function __autoload($className){
include( end(explode('\\', $className)) . '.php');
}

关于php - 如何在php中将自动加载与命名空间一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14418392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com