2013-02-19 54 views
-1

在我的PHP中使用Querypath。 由於我的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版本5.2.6-1 + lenny13 「?

+0

首先,在你的榜樣,你缺少到底右括號=>}); – 2013-02-19 13:22:09

+0

是的,我只是複製粘貼以顯示61行中的內容。這不是我的代碼。它的Querypath 3.0:http://querypath.org/文件(qp.php)。我想改變這個文件使它在5.2中工作 – 2013-02-19 13:30:25

回答

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