2015-03-09 17 views
0

Я использую CBOR для упаковки данных в приложениях C и PHP-скриптах. Для PHP я загрузил implementation с сайта выше. Он хорошо работает на PHP 5.4.23, но на PHP 5.3.3, включая CBOREncoder.php выдает ошибку:Реализация CBOR создает ошибку на PHP 5.3.3

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /var/www/html1/......./CBOREncoder.php on line 15 

Это начало CBOREncoder.php:

<?php 

/** 
* CBOR encoder/decoder 
* 
* http://tools.ietf.org/html/rfc7049 
* http://habrahabr.ru/post/208690/ thx man :) 
* 
* Class CBOREncoder 
*/ 
class CBOREncoder 
{ 
    const 
     MAJOR_OFFSET = 5, 
     HEADER_WIPE = 0b00011111, <-- this line produces error 
     ADDITIONAL_WIPE = 0b11100000, 

В чем проблема?

ответ

2

Проблема заключается в том, что PHP 5.3.x не поддерживает двоичные числа. Это было включено в PHP 5.4.

С сайта PHP: http://php.net/manual/en/migration54.new-features.php

Binary number format has been added, e.g. 0b001001101.

Так, CBOR не поддерживает PHP 5.3