Я сталкиваюсь с проблемами при попытке включить TwitterOAuth.php из https://github.com/abraham/twitteroauth использовать Twitter API.
Моя проблема заключается в следующем: у меня есть файл с именем twitter.php в том же каталоге, что и мои файлы TwitterOAuth.php и OAuth.php. Когда я пытаюсь использовать этот фрагмент кода для подключения:
include("TwitterOAuth.php");
//I actually fill in these values in my code, no worries...
$apikey = //"...";
$apisecret = //"...";
$accesstoken = //"...";
$accesssecret = //"...";
$connection = new TwitterOAuth($apikey, $apisecret, $accesstoken, $accesssecret);
print_r($connection);
Я получаю эту ошибку (строка 239 — это строка $ connection = new TwitterOAuth (…)):
Неустранимая ошибка: класс ‘TwitterOAuth’ не найден в /home/sites/(mydomain)/public_html/twitteroauth-master/src/twitter.php в строке 239
Однако, если я скопирую и вставлю все содержимое файла TwitterOAuth.php, заменив строку, в которой я вызываю, include («TwitterOAuth.php»); с этим содержимым все работает нормально. Я также пытался использовать include_once, require и require_once, но безрезультатно.
Пожалуйста, посоветуйте — я новичок в PHP и понятия не имею, почему копирование и вставка работ, когда include () нет.
Спасибо!
Вы должны изменить:
include("TwitterOAuth.php");
в:
include 'TwitterOAuth.php';
use Abraham\TwitterOAuth\TwitterOAuth;
чтобы иметь доступ к TwitterOAuth
в его определенном пространстве имен.
Рекомендуется использовать include '<file>'
так как include
это специальная языковая конструкция, а не функция, и ее не следует путать с функцией.
Ваши файлы находятся в одном каталоге? Поскольку вы используете include («TwitterOAuth.php»); тогда это означает, что файлы существуют в одном каталоге. Если бы это было включено («../ TwitterOAuth.php»); Тогда файл будет существовать в родительском каталоге