Search code examples
phpphp-5.2querypath

Query path, php 5.2


Im using Querypath in my PHP. Since my linux is Debian Lenny that doesnt have support anymore, and I have no idea how to update it to debian Squeeze. I cant update its php, since it doesnt exist for Lenny (for what I read).

Using Querypath I get this error:

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

And this line is:

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

Do you know, hot I can convert it to "PHP Version 5.2.6-1+lenny13" ?


Solution

  • PHP 5.2 does not support anonymous functions.

    Instead, try using a named function, represented by a string:

    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');