Не могу понять причину ошибки Fatal error: Cannot redeclare class Less_VisitorReplacing

119
17 февраля 2021, 23:50

Ошибка проявляется не всегда, чаще после очистки кеша сайта. Бывает 5 проходов по сайту нормально, на 6 выскакивает ошибка. Жмем обновить страницу, ошибка пропадает открывается страница.

Кусок кода на который ругается.

class Less_Visitor{
    var $methods = array();
    var $_visitFnCache = array();
    function __construct(){
        $this->_visitFnCache = get_class_methods(get_class($this));
        $this->_visitFnCache = array_flip($this->_visitFnCache);
    }
    function visitObj( $node ){
        $funcName = 'visit'.$node->type;
        if( isset($this->_visitFnCache[$funcName]) ){
            $visitDeeper = true;
            $this->$funcName( $node, $visitDeeper );
            if( $visitDeeper ){
                $node->accept($this);
            }
            $funcName = $funcName . "Out";
            if( isset($this->_visitFnCache[$funcName]) ){
                $this->$funcName( $node );
            }
        }else{
            $node->accept($this);
        }
        return $node;
    }
    function visitArray( $nodes ){
        array_map( array($this,'visitObj'), $nodes);
        return $nodes;
    }
}

/*
 * Replacing Visitor
 *
 * @package Less
 * @subpackage visitor
 */
class Less_VisitorReplacing extends Less_Visitor{

    function visitArray( $nodes ){
        $newNodes = array();
        foreach($nodes as $node){
            $evald = $this->visitObj($node);
            if( $evald ){
                if( is_array($evald) ){
                    self::flatten($evald,$newNodes);
                }else{
                    $newNodes[] = $evald;
                }
            }
        }
        return $newNodes;
    }
    function flatten( $arr, &$out ){
        foreach($arr as $item){
            if( !is_array($item) ){
                $out[] = $item;
                continue;
            }
            foreach($item as $nestedItem){
                if( is_array($nestedItem) ){
                    self::flatten( $nestedItem, $out);
                }else{
                    $out[] = $nestedItem;
                }
            }
        }
        return $out;
    }
}
READ ALSO
Уточнение по работе функции move_uploaded_file

Уточнение по работе функции move_uploaded_file

Я хочу сделать проверку: Если файл перемещен, то сделать что-тоПодскажите какой код верный:

103
zend_mm_heap corrupted error

zend_mm_heap corrupted error

У меня есть скрипт на php, который работает используя pthreadsТо есть многопоточность

129
Запустить php как html

Запустить php как html

Переименовал indexphp в index

115
Конвертировать строку в Hex JavaScript

Конвертировать строку в Hex JavaScript

Нужно переделать код PHP в JS

129