Объявление MY_Email :: initialize () должно быть совместимым с объявлением CI_Email :: initialize () - PullRequest
0 голосов
/ 26 сентября 2018
A PHP Error was encountered
Severity: Runtime Notice

Message: Declaration of MY_Email::initialize() should be compatible with 
that of CI_Email::initialize()

Filename: libraries/MY_Email_3_1_x.php

Line Number: 1374

Backtrace:

File: C:\xampp\htdocs\e-com\application\libraries\MY_Email.php
Line: 17
Function: _error_handler

File: C:\xampp\htdocs\e-com\application\libraries\MY_Email.php
Line: 17
Function: require_once

Файл: C: \ xampp \ htdocs \ e-com \ application \ controllers \ User_pannel_controller.php Строка: 478 Функция: библиотека

Файл: C: \ xampp \ htdocs \ e-com\ index.php Строка: 315 Функция: require_once

Обнаружена ошибка Ошибка SMTP-подключения ().https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

1 Ответ

0 голосов
/ 26 сентября 2018

Это означает, что ваш дочерний класс не совместим с родителем.Например:

class CI_Email
{
    public function initialize($a, $b)
    {
        echo 'foo';
    }
}

class MY_Email extends CI_Email
{
    public function initialize($a)
    {
        echo 'bar';
    }
}

Этот код вызовет ошибку ...should be compatible with..., потому что если вы замените экземпляр My_Email на CI_Email, то будет пропущен обязательный параметр $b.

Измените метод вашего дочернего класса 'initialize, чтобы он содержал все те же параметры, что и родительский класс.Вы можете добавить дополнительные необязательные параметры, но вы не можете их убрать, поэтому вы можете сделать это:

public function initialize($a, $b, $c = 0) ...
...