Ich verwende das Abraham TwitterOAuth PHP SDK. Ich habe die Bibliothek an der Spitze der index.php
(Datei existiert + ich verwende <?php
).PHP - Klasse nicht gefunden, ist aber erforderlich
<?php
require 'inc/oauth/autoload.php';
var_dump(file_exists('inc/oauth/autoload.php')); //true
use Abraham\TwitterOAuth\TwitterOAuth;
Unten zwischen dem HTML-I gehören eine .php
Datei in einem div
, etwa so:
<?php include('div.php'); ?>
In diesem div.php
Datei ich die TwitterOAuth Klasse instanziiert, die einen Fehler wirft:
if (isset($_COOKIE['token']) && !empty($_COOKIE['token'])) {
$token = objectToArray(json_decode($_COOKIE['token']));
$connection = new TwitterOAuth(CONSUMER, SECRET, $token['oauth_token'], $token['oauth_token_secret']);
Dies wirft den Fehler Class 'TwitterOAuth' not found
.
Hinweis
Dies funktioniert war, bevor ich den Code div.php
bewegt. Ich brauche es jedoch separat, weil ich in Zukunft das Div mit JQuery aktualisieren werde.
Danke, es fixiert (wird in ~ 6 Minuten akzeptieren). Irgendein Grund warum eingeschlossene Dateien 'Abraham \ TwitterOAuth \ TwitterOAuth;' von 'index.php' ignorieren? Weil der gleiche Code funktionierte, als der Code von 'div.php' direkt in' index.php' lag. Warum funktioniert es nicht mit Includes? – kgongonowdoe
, da Klassenaliase, die mit 'use' deklariert wurden, nur in derselben Datei bekannt sind. – Philipp
Ah Ich sehe auf php.net: 'Importieren Regeln sind pro Datei Basis, was bedeutet, dass die importierten Regeln die importierenden Regeln der übergeordneten Datei NICHT übernehmen. Danke! – kgongonowdoe