Neue Antwort schreiben 
 
Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Plugin System schreiben PHP
Michael_ Offline
Bier aus Hawaii

Beiträge: 1.510
Registriert seit: Feb 2011
Beitrag #1
Plugin System schreiben PHP
Hallo,

Ich hab mal eine Frage und zwar kennt ihr ja alle Pluginsysteme wie sie in modernen Forensystemen integriert sind.
Man drückt auf den Knopf und das Plugin wird automatisch installiert.

Dazu habe ich eine Frage:
Und zwar ist das wirklich nur "Suchen und Ersetzen" von Codestellen + SQL ausführen?

Warum kommt es dann nie zu problemen das z.b. eine Suchstelle schon verändert wurde und dann nicht gefunden wird ODER das das Forum danach nicht mehr funktioniert (nach der installation eines solchen Addons)?
Sind da vllt. noch irgendwelche weiterführenden Sicherheitsmaßnahmen integriert?

Ich würde gerne sowas für das alte WBB machen.

was haltet ihr von folgendem:

1.suchen ob alle PHP Codestellen so vorhanden sind wie sie sollen
2.Backup von den zu ändernden PHP Datein machen vllt. auch SQL Backup
3.PHP änderungen durchführen
4.SQL ausführen
5.Neue Datein hochladen
6.ggf. falls gewünscht änderungen rückgängig machen (PHP reverse ändern + sql)

So ungefähr muss es doch auch bei anderen Plugin Systemen laufen oder?
Würdet ihr ggf. das Backup sogar sparen? (Ist ja eigentlich die Aufgabe des Users)
14.11.2017 10:42
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
DosAmp Offline
Flegkano

Beiträge: 11.972
Registriert seit: Jul 2008
Beitrag #2
RE: Plugin System schreiben PHP
(14.11.2017 10:42)Michael_ schrieb:  Dazu habe ich eine Frage:
Und zwar ist das wirklich nur "Suchen und Ersetzen" von Codestellen + SQL ausführen?

Nein, überhaupt nicht. Richtige Plugin-Systeme in Webforen funktionieren vollkommen ohne Modifikation der Codebasis. MyBB hat dafür z. B. "Hooks", die Funktionen definieren, welche nach ihrer Registrierung an bestimmten Stellen im MyBB-Code über Aufrufe dieser Art erlauben, Plugin-Code auszuführen:
PHP-Code:
$plugins->run_hooks("parse_message"$message); 

phpBB 3 geht hingegen einen anderen Weg und baut vollständig auf dem Symfony-MVC-Framework auf.

[Bild: stempel.png]
(Dieser Beitrag wurde zuletzt bearbeitet: 14.11.2017 13:36 von DosAmp.)
14.11.2017 13:35
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
mrshadowtux
Unregistered

 
Beitrag #3
RE: Plugin System schreiben PHP
Als ob er was mit MVC anfangen kann :D
14.11.2017 13:53
Diese Nachricht in einer Antwort zitieren
Michael_ Offline
Bier aus Hawaii

Beiträge: 1.510
Registriert seit: Feb 2011
Beitrag #4
RE: Plugin System schreiben PHP
Ich verstehe noch nicht wirklich wie diese Hooks funktionieren.

Ob ich nun in der index.php nen Hook aufruf reinschreibe oder direkt den Code ist doch egal?
Außerdem wie soll ich den einen SQL Query anpassen mit diesen Hooks?

Was genau ist an meiner Version schlechter als an diesen Hooks?

Nehmen wir mal an wir haben hier die index.php

Code:
<?php
$wasgehtab = $db->query("SELECT was, geht, ab FROM bb".$n."_dasgehtab WHERE username = '$wbbuserdata[username]'");
$wasgehtab_was = $wasgehtab[was];
$wasgehtab_geht = $wasgehtab[geht];
$wasgehtab_ab = $wasgehtab[ab];
echo "Hello World $wasgehtab_was $wasgehtab_geht $wasgehtab_ab";
?>

Nun möchte ich das so modifizieren:

Code:
<?php
$wasgehtab = $db->query("SELECT was, geht, ab, gender FROM bb".$n."_dasgehtab WHERE username = '$wbbuserdata[username]'");
$wasgehtab_was = $wasgehtab[was];
$wasgehtab_geht = $wasgehtab[geht];
$wasgehtab_ab = $wasgehtab[ab];
$gender = $wasgehtab[gender];
$plugin = "$gender bla bla bla";
echo "Hello World $wasgehtab_was $wasgehtab_geht $wasgehtab_ab $plugin";
?>

Wie soll man sowas den mit nem Hook machen?
(Dieser Beitrag wurde zuletzt bearbeitet: 14.11.2017 14:38 von Michael_.)
14.11.2017 14:33
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
mrshadowtux
Unregistered

 
Beitrag #5
RE: Plugin System schreiben PHP
Der Vorteil ist, dass du nicht am Originalcode rumfuddeln musst, sondern dein Plugin separat geladen wird. Somit können mehrere Plugins separat konfliktfrei existieren. Am Original rumzufrickeln ist SOWAS von Bad Practice...
14.11.2017 14:44
Diese Nachricht in einer Antwort zitieren
Michael_ Offline
Bier aus Hawaii

Beiträge: 1.510
Registriert seit: Feb 2011
Beitrag #6
RE: Plugin System schreiben PHP
Warum minimiert das das konfliktrisiko?
Ob der Code da steht oder aufgerufen wird ist doch im prinzip das selbe?

Letzten endes steht da ja der selbe Code.

Außerdem wäre noch interessant wie ich z.b. nen mysql query ändern kann mit nem Hook.

Ich mein insofern das mir jemand noch etwas erklärt vllt. mach ich das ja mit hooks. :)

Mein letzter Beitrag zeigt die "Schwierigkeit" ja recht genau.

Plugins sind ja nicht immer eigenständige Sachen sondern greifen teilweise ja in vorhandene features ein.

Achso das man nen zweiten Query machen könnte in dem Hook ist mir klar aber ich glaub das ist ja nicht DIE Lösung das Forum zu verlangsamen.
(Dieser Beitrag wurde zuletzt bearbeitet: 14.11.2017 15:01 von Michael_.)
14.11.2017 14:48
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
mrshadowtux
Unregistered

 
Beitrag #7
RE: Plugin System schreiben PHP
(14.11.2017 14:48)Michael_ schrieb:  Warum minimiert das das konfliktrisiko?
Ob der Code da steht oder aufgerufen wird ist doch im prinzip das selbe?
Du fuddelst am Basiscode rum. Basiscode, auf den sich andere Plugins erlassen. Die bekommen nich tmehr die gewohnte Basis und laufen nicht mehr richtig. Und darum lagert man seine Plugins grundsätzlich separat aus, um sowas zu vermeiden.
14.11.2017 15:15
Diese Nachricht in einer Antwort zitieren
Michael_ Offline
Bier aus Hawaii

Beiträge: 1.510
Registriert seit: Feb 2011
Beitrag #8
RE: Plugin System schreiben PHP
Ergo lieber 2 Querys als einer um die Kompatibilität zu sichern?
14.11.2017 15:41
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
fynn Offline
Posting Freak

Beiträge: 3.327
Registriert seit: Apr 2012
Beitrag #9
RE: Plugin System schreiben PHP
Einfach aufhören, irgendwas mit dem PHP4-Code des alten WBB zu machen.
(Dieser Beitrag wurde zuletzt bearbeitet: 14.11.2017 17:12 von fynn.)
14.11.2017 17:11
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Michael_ Offline
Bier aus Hawaii

Beiträge: 1.510
Registriert seit: Feb 2011
Beitrag #10
RE: Plugin System schreiben PHP
Kann mir mal jemand helfen, das hier zeigt alle Unterordner an eines Verzeichnisses:
Code:
$handle = @opendir("pluginalike/plugins");
while ($file = @readdir ($handle)){
        if (eregi("^\.{1,2}$",$file)){
        continue;
        }
        printf ("% ".$pos."s %s\n", "", $file);
     }
     @closedir($handle);

kann mir jemand helfen das ich statt zu printen den namen in ner Variable speichern kann.
bekomm das leider nicht hin -.-
14.11.2017 18:23
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neue Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste