src/Protocol/Protocol.php
public function getSubscribeFrame($destination, $subscriptionId = null, $ack = 'auto', $selector = null)
    {
        // validate ACK types per spec
        // https://stomp.github.io/stomp-specification-1.0.html#frame-ACK
        // https://stomp.github.io/stomp-specification-1.1.html#ACK
        // https://stomp.github.io/stomp-specification-1.2.html#ACK
        if ($this->hasVersion(Version::VERSION_1_1)) {
            $validAcks = ['auto', 'client', 'client-individual'];
        } else {
            $validAcks = ['auto', 'client'];
        }
        if (!in_array($ack, $validAcks)) {
            throw new StompException(
                sprintf(
                    '"%s" is not a valid ack value for STOMP %s. A valid value is one of %s',
                    $ack,
                    $this->version,
                    implode(',', $validAcks)
                )
            );
        }
        
        $frame = $this->createFrame('SUBSCRIBE');

        $frame['destination'] = $destination;
        $frame['ack'] = $ack;
        $frame['id'] = $subscriptionId;
        $frame['selector'] = $selector;
        return $frame;
    }
public function getSubscribeFrame($destination, $subscriptionId = null, $ack = 'auto', $selector = null)
    {
        // validate ACK types per spec
        // https://stomp.github.io/stomp-specification-1.0.html#frame-ACK
        // https://stomp.github.io/stomp-specification-1.1.html#ACK
        // https://stomp.github.io/stomp-specification-1.2.html#ACK
        if ($this->hasVersion(Version::VERSION_1_1)) {
            $validAcks = ['auto', 'client', 'client-individual'];
        } else {
            $validAcks = ['auto', 'client'];
        }
        if (!in_array($ack, $validAcks)) {
            throw new StompException(
                sprintf(
                    '"%s" is not a valid ack value for STOMP %s. A valid value is one of %s',
                    $ack,
                    $this->version,
                    implode(',', $validAcks)
                )
            );
        }
        
        $frame = $this->createFrame('SUBSCRIBE');

        $frame['destination'] = $destination;
        $frame['ack'] = $ack;
        $frame['id'] = $subscriptionId;
        $frame['selector'] = $selector;
        return $frame;
    }
public function getSubscribeFrame ( $ destination , $ subscriptionId = null , $ ack = 'auto' , $ selector = null ) { // validate ACK types per spec // https://stomp.github.io/stomp-specification-1.0.html#frame-ACK // https://stomp.github.io/stomp-specification-1.1.html#ACK // https://stomp.github.io/stomp-specification-1.2.html#ACK if ( $ this -> hasVersion ( Version :: VERSION_1_1 ) ) { $ validAcks = [ 'auto' , 'client' , 'client-individual' ] ; } else { $ validAcks = [ 'auto' , 'client' ] ; } if ( ! in_array ( $ ack , $ validAcks ) ) { throw new StompException ( sprintf ( '"%s" is not a valid ack value for STOMP %s. A valid value is one of %s' , $ ack , $ this -> version , implode ( ',' , $ validAcks ) ) ) ; } $ frame = $ this -> createFrame ( 'SUBSCRIBE' ) ; $ frame [ 'destination' ] = $ destination ; $ frame [ 'ack' ] = $ ack ; $ frame [ 'id' ] = $ subscriptionId ; $ frame [ 'selector' ] = $ selector ; return $ frame ; }
Get subscribe frame.

@param string $destination
@param string $subscriptionId
@param string $ack
@param string $selector
@return \Stomp\Transport\Frame
@throws StompException;
Get subscribe frame .