2015-04-14 3 views
-3

Я потерял свой вечер на этом, и мне кажется, что мне нужен кто-то другой, чтобы проверить это, я, вероятно, полностью слеп.Еще одна ошибка PHP Parse: синтаксическая ошибка, неожиданное «использование» (T_USE)

define('FACEBOOK_SDK_V4_SRC_DIR', '/var/www/rateanything/facebook-sdk/src/Facebook'); 
require('/var/www/rateanything/facebook-sdk/autoload.php'); 
use Facebook; 
FacebookSession::setDefaultApplication('my_app_id', 'my_app_secret'); 
$session = new FacebookSession($fbtoken); 
$request = new FacebookRequest($session,'GET','/me?fields=email,name,gender'); 

Почему это не дублируется: поскольку этот вопрос не имеет этой ошибки. Я получаю эту ошибку синтаксического анализа.

Я использую PHP 5.4.

+0

чек там http://stackoverflow.com/questions/23413854/facebook-sdk-v4-for-php-minimal-example – Alex

+0

нет, это не помогло мне. Почему этот downvote? : | – hoschiCZ

ответ

0

Так на основе ошибки, это проблема линия

use Facebook; 

Не зная, что в том, что включает в себя, трудно сказать, но это не выглядит, как вы альясинг ничего. Фактически, если вы загружаете автозагрузку (что кажется безопасной ставкой), вы не должны использовать такой псевдоним.

Обычно вы будете использовать его как этот

include 'facebook.php'; 
use Facebook; 
\Facebook\SomeClass::staticFunction($var); 
$class = new \Facebook\OtherClass(); 

ЗАКАНЧИВАТЬ the manual для получения более подробной информации и примеров о том, как использовать use

+0

в readme Facebook по этому проекту https://github.com/facebook/facebook-php-sdk-v4 - это код, подобный моему ... Я скопировал его оттуда. – hoschiCZ

+0

Вы используете Composer? – Machavity

+0

Нет, я не использую Composer – hoschiCZ

13

Это код, завернутый в функции? Ключевое слово use может применяться только в самой внешней области вашего файла.

В основном, переместите use Facebook; в начало страницы.

В качестве альтернативы вы могли бы ссылаться на пространство имен, в котором определены FacebookSession и FacebookRequest. Как так:

define('FACEBOOK_SDK_V4_SRC_DIR', '/var/www/rateanything/facebook-sdk/src/Facebook'); 
require('/var/www/rateanything/facebook-sdk/autoload.php'); 
Facebook\FacebookSession::setDefaultApplication('my_app_id', 'my_app_secret'); 
$session = new Facebook\FacebookSession($fbtoken); 
$request = new Facebook\FacebookRequest($session,'GET','/me?fields=email,name,gender'); 
+0

Это не функция, но она находится в «if», где я проверяю, входит ли человек в систему через G + или Facebook. – hoschiCZ

Смежные вопросы