gpt4 book ai didi

PHP 命名空间和自动加载

转载 作者:行者123 更新时间:2023-12-04 16:56:32 24 4
gpt4 key购买 nike

我对 PHP 还是比较陌生,或者对至少有点复杂且有很多类的项目更陌生。到目前为止,使用 require_once 还可以。然而,在一个新项目中,它会因大量的包含而变得有点困惑,但并非总是需要所有这些。

我正在创建的是一个复杂的公共(public) Web 服务的客户端(这不在我的控制范围内)。然后该客户端将在应用程序中使用。

我查看了 spl_autoload_register 但并没有真正让它工作。这个项目的目录是:

webServiceClient/src/path/same/as/namespaces

假设使用的应用程序将直接使用的客户端类在
webServiceClient/src/path/same

该类必须“加载”所有可能的必需类。我怎样才能做到这一点?

最佳答案

  • 创建自动加载功能
  • 将点 1 函数注册到 spl_autoload_register .
    link
  • 如果您只有 __autoload作为自动加载功能,您不必
    注册它。 link
  • 编写您的自动加载功能

  • .
    function __autoload($classname) {    
    $filename = ROOT."\\". $classname .".php"; //you can define ROOT by define('ROOT','dir path');
    include_once($filename);
    }

    所以,当你声明
    $myclass = new webServiceClient\src\path\same;

    autolaod 将包括 ROOT.'webServiceClient\src\path\same.php'

    关于PHP 命名空间和自动加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10581583/

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