2014-09-04 71 views
1

我試圖實現與DropBox的API上的Web應用程序...語法錯誤,我不能看到

在這部分代碼:

[...]

require_once "dropbox/lib/Dropbox/autoload.php"; 
use \Dropbox as dbx;  
$appInfo = dbx\AppInfo::loadFromJsonFile("app_info.json"); 

我在第二行出現語法錯誤:「syntax error,unexpected'use'(T_USE)」 我從我的項目中的其他地方複製此代碼...並且它在那裏工作...我不明白什麼是幸福在這裏! 我已經嘗試了一切,但每個組合都看不到問題!

+0

您是否在第二行沒有反斜槓的情況下嘗試它? – Mathlight 2014-09-04 12:06:51

+2

我認爲它與您使用的PHP版本有關。在PHP 5.3.0中引入的名稱空間。什麼是你的PHP版本? – pomeh 2014-09-04 12:08:07

+0

@Mathlight他得到一個語法錯誤。不是「沒有找到類」 – 2014-09-04 12:08:07

回答

0

由於語法錯誤,它看起來像你的函數聲明中試圖use(或有可能在一個類定義,雖然該錯誤可能有不同這取決於你的PHP版本是否支持性狀)

PHP Manual

使用關鍵字必須在文件的最外層範圍(全局範圍)或名稱空間聲明內聲明。

+0

就是這樣!我有一部分代碼在一個else語句中......我將它移動並工作! 非常,非常感謝! – Cafunfa 2014-09-04 12:43:21

1

AFAIK使用語句必須先走:

use \Dropbox as dbx;   

require_once "dropbox/lib/Dropbox/autoload.php"; 

$appInfo = dbx\AppInfo::loadFromJsonFile("app_info.json"); 
+0

我不確定這一點,你有沒有參考這一點? – pomeh 2014-09-04 12:13:26

+0

我認爲,@derp是對的。在最常見的情況下,它實際上是第一個,但NTL,因爲它只是在名稱空間聲明下面... – 2014-09-04 12:15:05

+0

我有這部分代碼在一個else語句中......我將它移動並工作!非常非常感謝大家! – Cafunfa 2014-09-04 12:46:44