• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • SplPriorityQueue::__construct()

    (PHP 5 >= 5.3.0, PHP 7)

    Constructs a new empty queue

    说明

    publicSplPriorityQueue::__construct(void)

    This constructs a new empty queue.

    参数

    此函数没有参数。

    返回值

    没有返回值。

    I was trying to extend SplPriorityQueue like this:
    <?php
    class AdjustablePriorityQueue extends SplPriorityQueue {
      protected $direction='desc';//queue is ordered highest to lowest priority, direction is changeable ONLY on __construct()
      function __construct($direction='desc'){
        parent::__construct(); //Fatal error: Cannot call constructor
        $this->direction=($direction=='asc') ? 'asc': 'desc';
      }
      function compare($priority1,$priority2){
        if($this->direction=='asc') return parent::compare($priority2, $priority1);
        return parent::compare($priority1,$priority2);
      }
    }
    ?>
    calling `parent::__construct()` gives a fatal error " Cannot call constructor". If I leave out that call, everything works fine. This suggests that SplPriorityQueue does not actually have a `__construct()` method.