Ankündigung

Einklappen
Keine Ankündigung bisher.

Api vs. Api_Extensions

Einklappen
X
Einklappen
Momentan aktive Benutzer in diesem Thema: 1 (0 Benutzer und 1 Gäste)
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Api vs. Api_Extensions

    Da es mein erster Post hier ist - Moin in die Runde. Und ich habe keinen besseren Platz für ne Programmierdiskussion gefunden. Falls ich falsch bin, bitte verschieben.

    @delicjous: Da die Diskussion von heute auf vB.org dort fortzuführen ja offtopic wäre (und ich sie lieber auf deutsch führen würde), mach ich mal hier auf

    Vorteile/Nachteile (wann/wo/wie) von extends Api vs. extends Api_Extensions?

    Namentlicher Zugriff ist klar, insb. für so eine "unüberlegt" benannte Api/Funktion wie in meinem Bsp. Aber sonst? Einschränkungen beider Konzepte?

    Und der von dir verlinkte Skeleton (war auch für mich die Vorlage für die ersten Schritte) nutzt ja auch
    PHP-Code:
      class Skeleton_Api_skeleton extends vB_Api_Extensions 
    Zuletzt geändert von shka; 07.12.2018, 09:39.

    #2
    Hi und herzlich willkommen.

    vB_Api_Extensions sind Erweiterungen von existierenden APIs wie page, user etc. Hier kann auch eine Funktion abgegriffen werden.
    vB_Api sind neue (eigene) APIs, welche dann ebenfalls mit extension erweitert werden könnten.

    Hier ein Beispiel in einem von meinen freien Add-ons: https://vbulletin.org/forum/showthread.php?t=325458
    Auch in meinen Exklusiven Addons gibt es genügend Beispiele.
    It`s nice to be important but it`s more important to be nice!

    Kommentar


      Themenstarter
      #3
      Vielleicht reden wir anneinander vorbei oder ich habe das einen Fehler in meiner Denke.

      Es existiert Basisklasse vB_Api und darunter mehrere Kinder vb_Api_Page... und auch vB_Api_Extensions. Letzteres liefert mir ein paar Zusatzproperties und -methoden.

      Ich kann nun meine Klasse direkt von vB_Api ableiten (quasi Geschwisterchen von _Page und _Extensions) oder von vB_Api_Extensions. Wofür ist dann in deinen Augen eine Ableitung von vB_Api_Extensions gut, wenn du nur eine Ableitung von vB_Api empfiehlst?


      Beides funktioniert gleich gut, der Aufruf im template ist offensichtlicher bei Ableitung von vB_Api. Aber sonst? Mir geht es darum, für was man die Methoden der vB_Api_Extensions nutzt? Die Properties sind klar, die werden ja unter unterem auch für Display der Api im AdminCP genutzt.

      Kommentar


        #4
        Das glaube ich auch :-)

        Erweiterung von der bereits existierenden API:
        PHP-Code:
        class DeinAddon_Api_Template extends vB_Api_Extensions
        {
            public 
        $product 'DeinAddon';
            public 
        $developer 'tester';
            public 
        $title 'Template Erweiterung';
        public 
        $AutoInstall 1;
            public 
        $extensionOrder 1


        Eigene API:
        PHP-Code:
        class WhoHasReadThisThread_Api_readers extends vB_Api
        {
            public function 
        getThreadReader($nodeid)
            { 
        Du solltest es einfach mal ausprobieren. Es gibt zu jeder Art funktionierende Beispiele unter den freien Addons.
        It`s nice to be important but it`s more important to be nice!

        Kommentar

        Lädt...
        X