2013-02-19 2 views
-1

Я использую Querypath в своем PHP. Поскольку мой Linux - это Debian Lenny, у которого больше нет поддержки, и я не знаю, как его обновить до debian Squeeze. Я не могу обновить его php, поскольку он не существует для Lenny (для того, что я читал).Путь запроса, php 5.2

Использование Querypath Я получаю эту ошибку:

Parse error: syntax error, unexpected T_FUNCTION, expecting ')' in /var/www/vhosts/company/httpdocs/2013/inc/qp.php on line 61

И эта линия:

spl_autoload_register(function ($klass) { 
$parts = explode('\\', $klass); 
if ($parts[0] == 'QueryPath') { 
$path = __DIR__ . '/' . implode('/', $parts) . '.php'; 
    if (file_exists($path)) { 
    require $path; 
    } 
} 

Вы знаете, горячий я могу преобразовать его в «PHP Version 5.2.6-1 + lenny13 "?

+0

прежде всего, в вашем примере, вам не хватает закрытия скобки в конце =>}); –

+0

Да, я просто скопирую пасту, чтобы показать, что находится в строке 61. Это не мой код. Его Querypath 3.0: http://querypath.org/ file (qp.php). Я хотел бы изменить этот файл, чтобы он работал в 5.2 –

ответ

0

PHP 5.2 не поддерживает анонимные функции.

Вместо этого попробуйте использовать указанную функцию, представленную в строку:

function my_function($kclass) { 
    $parts = explode('\\', $klass); 
    if ($parts[0] == 'QueryPath') { 
     $path = __DIR__ . '/' . implode('/', $parts) . '.php'; 
     if (file_exists($path)) { 
      require $path; 
     } 
    } 
} 

spl_autoload_register('my_function'); 
Смежные вопросы