已弃用的 PHP:同名方法

php
2022-08-30 09:28:21

我收到一个错误,说

已弃用:与其类同名的方法在未来版本的PHP中将不是构造函数;TSStatus 在第 10 行的 C:\Program Files (x86)\Zend\Apache24\htdocs\viewer\modules\tsstatus\tsstatus 中有一个已弃用的构造函数.php

类 TSStatus 是 TSStatus 底部的第 10 行加上

class TSStatus
{
    private $_host;
    private $_queryPort;
    private $_serverDatas;
    private $_channelDatas;
    private $_userDatas;
    private $_serverGroupFlags;
    private $_channelGroupFlags;
    private $_login;
    private $_password;
    private $_cacheFile;
    private $_cacheTime;
    private $_channelList;
    private $_useCommand;
    private $_javascriptName;
    private $_socket;

    public $imagePath;
    public $showNicknameBox;
    public $timeout;
    public $hideEmptyChannels;
    public $hideParentChannels;

    public function TSStatus($host, $queryPort)

    ...
}

答案 1

如错误,官方手册和注释中所述:

取代

public function TSStatus($host, $queryPort)

public function __construct($host, $queryPort)

答案 2

我收到了关于这个问题的警告,现在它开始工作了。起初是:

function Smarty()
{
  $this->assign('SCRIPT_NAME', isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME']
                : @$GLOBALS['HTTP_SERVER_VARS']['SCRIPT_NAME']);

但我是这样做的:

function _construct()
    {
      $this->assign('SCRIPT_NAME', isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME']
                    : @$GLOBALS['HTTP_SERVER_VARS']['SCRIPT_NAME']);

现在我已经不再收到警告,脚本运行良好。


推荐