За последние 24 часа нас посетили 39938 программистов и 3307 роботов. Сейчас ищет 1531 программист ...

Помогите исправить варнинги

Тема в разделе "PHP для новичков", создана пользователем MrSullex, 14 фев 2016.

  1. MrSullex

    MrSullex Активный пользователь

    С нами с:
    15 сен 2015
    Сообщения:
    122
    Симпатии:
    1
    Вот собственно что выдает в логах:

    PHP Strict Standards: Declaration of Asido_Driver_GD::__rotate() should be compatible with Asido_Driver::__rotate(&$tmp, $angle, $color) in /var/www/gal964/data/www/site.ru/engine/classes/class.driver.gd.php on line 616, referer: http://site.ru/settings/avatar/
    PHP Strict Standards: Declaration of Asido_Driver_GD::__canvas() should be compatible with Asido_Driver::__canvas($width, $height, $color) in /var/www/gal964/data/www/site.ru/engine/classes/class.driver.gd.php on line 616, referer: http://site.ru/settings/avatar/

    Вот эти функции:

    Код (PHP):
    1. function __rotate(&$tmp, $angle, &$color) {
    2.  
    3.         // skip full loops
    4.         //
    5.         if (($angle % 360) == 0) {
    6.             return true;
    7.             }
    8.         
    9.         list($r, $g, $b) = $color->get();
    10.         $rotate_color = imageColorAllocate($tmp->target, $r, $g, $b); 
    11.         
    12.         if ($t = imageRotate($tmp->target, $angle * -1, $rotate_color)) {
    13.             imageDestroy($tmp->target);
    14.             $tmp->target = $t;
    15.             
    16.             $tmp->image_width = imageSX($tmp->target);
    17.             $tmp->image_height = imageSY($tmp->target);
    18.             
    19.             return true;
    20.             }
    21.  
    22.         return false;
    23.         }
    24.  
    Код (PHP):
    1. function __canvas($width, $height, &$color) {
    2.         
    3.         $t = new Asido_TMP;
    4.         $t->target = imageCreateTrueColor($width, $height);
    5.         
    6.         list($r, $g, $b) = $color->get();
    7.         imageFill($t->target, 1, 1, 
    8.             imageColorAllocate($t->target, $r, $g, $b)
    9.             );
    10.         $t->image_width = $width;
    11.         $t->image_height = $height;
    12.  
    13.         return $t;
    14.         }
    15.  
    Строка 616:

    Код (PHP):
    1. }
    2.  
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.132
    Симпатии:
    1.251
    Адрес:
    там-сям
    У тебя есть класс, наследующий от другого класса. Когда в наследнике переопределяется метод, он должен иметь в точности тот же набор параметров, что и предок. То есть интерфейс должен сохраняться. Вроде бы в старых версиях PHP на это можно было забить, но по сути предупреждение абсолютно правильное — исправляй. Делай чтобы везде было одинаково. На значек "&" обращай внимание.