Firebase + APF

Das Forum soll der Ablage von Lösungen für immer wieder auftauchende Problemstellungen dienen. // This forum contains solutions to problems that frequently occur.
Antworten
Coach83
Beiträge: 269
Registriert: 13.05.2010, 17:33:12
Kontaktdaten:

Firebase + APF

Beitrag von Coach83 » 10.11.2016, 12:53:23

Hallo zusammen! alles klar bei euch? Ich war ja schon länger nicht mehr da ...

ich möchte meine Daten in firebase abspeichern - dazu wollte ich folgendes Skript nutzen:
http://firebase-php.readthedocs.io/en/latest/index.html

Wie muss ich das denn einbinden?

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: Firebase + APF

Beitrag von dave » 10.11.2016, 14:11:07

Hallo Coach,
wie du siehst ist immer jemand aktiv ;) Aber schön, mal wieder was zu hören. Es fühlt sich gut an, wenn einige User regelmässig das APF nutzen.

Christian ist derzeit im Urlaub, ich versuche dir mal zu helfen kann aber nichts garantieren ;) Ich denke, für deinen Anwendungsfall eignet sich der ServiceManager optimal. Eventuell ist es nötig, den Namespace der Firebase-Klasse noch bekannt zu geben. Dazu musst du einfach nur namespace pfad/zur/firebase-klasse; in der Firebase.php nachtragen.

Die Einbindung dürfte recht einfach sein:

Code: Alles auswählen

use pfad/zur/firebase-klasse/Firebase;

[...]  // Definition deines Controllers oder deines Manager/Data-Mapper

    $firebase = $this->getServiceObject(Firebase::class);
    // Alternativ auch: $firebase = $this->getServiceObject('pfad/zur/firebase-klasse/Firebase');
    
    $database = $firebase->getDatabase();
 
Alle Angaben ohne Gewähr :lol:
Ich habe aktuell noch ein paar Schwierigkeiten, dass der Context nicht mitgegeben wird. Das müsste bei dir aber klappen. Ich bin gespannt, obs funktioniert :)

Coach83
Beiträge: 269
Registriert: 13.05.2010, 17:33:12
Kontaktdaten:

Re: Firebase + APF

Beitrag von Coach83 » 08.01.2017, 01:13:12

Guten Abend Dave,

bitte entschuldige die extreme Verspätung meiner Antwort. Ich hatte beruflich sehr viel um die Ohren.
Wenn ich das so umsetzen will erhalte ich ein
Fatal error: Cannot declare class Firebase, because the name is already in use in /var/www/vhosts/APPLICATION/tools/extern/firebase/Firebase.php on line 11

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: Firebase + APF

Beitrag von dave » 08.01.2017, 13:26:24

Hi Coach, danke für das Feedback. Kein Stress, wir machen das alles aus Spass an der Freude ;)
Ok, verdammt, dann probiere einmal einen anderen Weg, der definitiv klappen sollte:
1. Die Firebase-Klasse in deiner Bootstrap via RootClassLoader registrieren:

Code: Alles auswählen

RootClassLoader::addLoader(new StandardClassLoader('Firebase', 'pfad/zur/klasse'));
 
2. Die Firebase-KLasse kann nun an jeder beliebigen Stelle PHP-typisch genutzt werden:

Code: Alles auswählen

use pfad\zur\klasse\Firebase;

$firebease = new Firebase();
 
Frage an Christian: Warum funktioniert 1. Variante nicht?

Benutzeravatar
dr.e.
Administrator
Beiträge: 4525
Registriert: 04.11.2007, 16:13:53

Re: Firebase + APF

Beitrag von dr.e. » 08.01.2017, 15:54:03

Hallo dave, hallo Coach,

die Deklaration

Code: Alles auswählen

RootClassLoader::addLoader(new StandardClassLoader('Firebase', 'pfad/zur/klasse'));
besagt (rückwärts übersetzt), dass alle Klassen für den Hersteller Firebase unter pfad/zur/klasse liegen. Das ist in diesem Fall jedoch nicht korrekt, denn die Klasse Firebase liegt ja dem Namespace pfad/zur/klasse/ und der Ordner pfad wiederum im Root-Ordner des Herstellers. Die korrekte Deklaration für den ClassLoader (sofern die Library PSR-3-kompatibel ist), lautet:

Code: Alles auswählen

RootClassLoader::addLoader(new StandardClassLoader('pfad', '/vendor/root/ordner'));
Dabei ist pfad (der erste Teil des Namespaces) der Hersteller (so wie in APF\core\pagecontroller das Kürzel APF) und /vendor/root/ordner zeigt auf den Ordner, im dem die Klassen des Herstellers liegen. Der komplette Pfad ist dann /vendor/root/ordner/pfad/zur/klasse/Firebase.php.

Details dazu könnt ihr auch nochmal unter http://adventure-php-framework.org/Seit ... lassLoader nachlesen.

Hoffe das hilft euch weiter! :)
Viele Grüße,
Christian

Coach83
Beiträge: 269
Registriert: 13.05.2010, 17:33:12
Kontaktdaten:

Re: Firebase + APF

Beitrag von Coach83 » 08.01.2017, 20:17:56

Perfekte Erklärung Christian & Dave! Es klappt alles wie gewünscht :-) Merci euch Beiden

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast