当前位置: 首页 > 知识库问答 >
问题:

调用其他类的PHP函数

鞠安民
2023-03-14

我已经用PHP类分离了几个文件,现在我需要将它们放在一个函数中,如下所示:

include("require-class.php");

require_multi("db-class.php", "settings.php","users-class.php");

class ajaxLogin {
  private $settings;            
  private $users;

  public function __construct(settings $settings, users $users) {
    $this->settings = $settings;
    $this->users = $users;  
  }
}

global $ajaxLogin;
$ajaxLogin = new ajaxLogin;

settings.php中的类名为settings,users-class.php中的类名为users。我有个错误:

PHP可捕获的致命错误:传递给ajaxlogin::__construct()的参数1必须是设置的实例,没有给定,在第47行/var/www/html/idcms/admin/class/login-ajax.PHP中调用,在第13行/var/www/html/idcms/admin/class/login-ajax.PHP中定义,引用:http://localhost/idcms/admin/

共有1个答案

邓德厚
2023-03-14
$ajaxLogin = new ajaxLogin($settings, $user);

当然,您需要在此之前实例化设置用户,例如:

$settings = new settings();    // add arguments if required
$user = new user();            // add arguments if required

更新

如果您真的想在Ajaxlogin中实例化设置用户,只需删除__construct中的参数,如下所示:

class ajaxLogin {
    private $settings;          
    private $users;

    public function __construct() {
        $this->settings = new settings();
        $this->users = new users();          
    }
}

但是,第一种方法通常更好,因为每个使用类AjaxLogin的人都知道这个类依赖于设置User。有关这方面的更详细答案,请参见此问题。

 类似资料:
  • 假设我有两个html文件具有如下功能: 我想从a.html直接指向B.html,然后直接调用函数B。我怎样才能做到?。因为我想要将JSON字符串从函数A传递到函数B,而不是使用window.onload()或$(document).ready()。 我将我的JSON字符串存储到本地存储,并将用户引导到b.html。然后函数B将读取本地存储并直接处理数据。

  • 问题内容: 现在我的问题是 在执行任何调用的函数之前,如何调用另一个函数?在上述情况下,我如何才能为每个其他函数调用自动调用“ test1”函数,这样我就可以获得输出, 目前我正在获得输出 我不能在每个函数定义中都调用“ test1”函数,因为可能有很多函数。我需要一种在调用类的任何函数之前自动调用函数的方法。 任何替代方式也可以。 问题答案: 最好的选择是魔术方法__call,请参见以下示例:

  • 老实说,我不知道这个最上面的部分是做什么的,一开始我的类“东西”甚至没有显示出来,因为它一直说它不存在,所以有人做了那个虚空设置的事情,它起作用了?我是新手所以如果我触发了某人我道歉。 我像往常一样给班打电话 你知道这是什么问题吗?如果你把它放到处理中,我只得到一个空白屏幕。

  • 我正在尝试模拟静态函数(getBatchId()和sendPost())以获得以下代码: 上述方法的单元测试用例代码:

  • 实际上,它的测试如果eat方法对宠物有效,但我也需要检查feedPet方法对玩家也有效。 任何想法或建议都非常感谢。