Was ist der Sinn dahinter? Du erbst ja nur von einer Klasse wenn du diese erweitern möchtest durch mehr Features, ich würde jetzt keinen Sinn darin erkennen bei einer bestimmten Situation die eine, und bei einer anderen Situation von der anderen zu erben.
[SAMMELTHREAD] Kleine Coding Fragen
- breadfish.de
- Unerledigt
In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
-
-
Der Sinn dahinter war, das ich eine "Server Klasse" habe und 2 Weitere Klassen, "samp, teamspeak".
Nun wolle ich, je nach dem was ich brauche, eine von den beiden klassen auf meine Server Klasse erben lassen. -
Anders rum macht das aber doch eher mehr Sinn?
Eine universelle Server-Klasse zu haben, und die Samp/Teamspeak-Klasse wird von der Server Klasse abgeleitet. -
Dazu passend: Inversion of Control.
Ich behaupte mal zu wissen, was du vor hast und sage: du gehst das falsch an.
-
fnL:
Du meinst das ich eher die beiden Klassen normal aufrufe und in ihnen die serverklasse erbe?Klemmlampe:
ich bin mir nicht sicher ob ich das so ganz verstanden habe wie es dort steht
Wie sollte ich denn besser rangehen? -
Da ich mir nach den folgenden Posts nicht mehr ganz sicher bin, ob ich dein Problem richtig verstehe, wäre eine genaue und verständliche Schilderung toll.
-
Ich möchte eine Serverklasse, die individuell eine andere Klasse erbt.
Oder ist es sinnvoller es über funktionen zu machen?PHP
Alles anzeigen<?php //So wie ich es gern hätte: class TestKlasse extends ((isset($var))? TestKlasse1 : TestKlass2) { } //oder ist es so sinnvoller? class Klasse { static protected $var; public static function getVar() { if(is_object(self::$var))return self::$var; self::$var = new Var(); return self::$var; } } ?>
-
Das hilft mir nun kaum weiter, ich glaube du weißt selbst nicht so recht, was du vor hast.
Willst du zwei Klassen, die eine Aufgabe erfüllen und diese getrennt ansteuern oder willst du zwei Klassen haben, die im Grunde die selbe Aufgabe erfüllen, diese aber anders implementieren? Ich werde daraus einfach nicht schlau.
-
Also,
Ich bin gerade dabei mir Gameserver Sponsoring Panel zu schreiben, einfach um mein Wissen in PHP zu erweitern.
Nun möchte ich mich an die Serververwaltung wagen, daher die Serverklasse. In ihr möchte ich verschiedene sachen, wie serverid, permissions und haste nicht gesehen ablegen.
Als nächstes wollte ich es noch etwas übersichtlicher machen und die einzelnen Funktionen in weitere Klassen aufteilen, sprich pro Gameserver eine Klasse .. "samp, css, minecraft" oder halt auch für voiceserver.
Da dachte ich halt da wäre das vererben von Klassen praktisch, allerdings geht das ja nur mit einer..
Und deshalb wollte ich fragen ob es möglich ist individuell zu erben, oder ob es über Funktionen besser wäre oder ob ich gleich total unlogisch rangehe .. -
Nunja, wenn du spezifischer wirst, erbst du ja in dieser Klasse von der Oberklasse.
Kurz gesagt, du erbst nicht von Voiceserver in deiner Serverklasse, sondern du erbst in der Voiceserver Klasse von der allgemeineren Server Klasse.
Beispiel:
Du hast eine Klasse Server, die dich Objekte mit den Instanzvariablen IP und Port erstellen lässt.
Nun möchtest du eine Klasse Teamspeak Server, die Instanzvariablen von Server und z.B. Slots oder Name was auch immer enthält. Dann erbt die Klasse TeamspeakServer von Server und nutzt deren Instanzvariablen IP und Port und eventuelle Funktionen, die Klasse TeamspeakServer selbst aber präzisiert das ganze mit Slots und und und.Ich hoffe ich habe verstanden was du machen wolltest.
-
Beitrag von Slash™ ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
Hab da nochmal ne Frage zum Thema JavaScript.
Gibt es eine Möglichkeit, bevor eine andere Seite geladen wird, eine JS funktion auszuführen?
Aber ohne bei jedem Link das über ein onclick event zu machen? -
Dafür würde sich jQuery ganz gut eignen, weil du dadurch mehrere Links auf ein mal ansprechen kannst:
Das führt die Funktion aus, jedes mal wenn der Benutzer auf ein <a> Element klickt. kannst das dann natürlich noch nur für bestimmte Links machen. -
Das habe ich dann auch gefunden, allerdings gibt es die möglichkeit das laden der seite zu verhindern?
Weil ich eine Funktion habe die ich bei einem link ausführen möchte, und die bei vollendung einen callback aufruft, in diesem callback möchte ich dann das er die seite nun wechselt.
Ist das möglich? Weil ich dazu nichts besonderes gefunden habe -
-
-
Dann return nur etwas, wenn es nicht laden soll, ansonsten nicht.
-
Dann ist halt mein problem, dass er die funktion nicht durchläuft und gleich lädt, so wie es bei nem normalen link eben ist.
-
-
Moin.
Hab ein kleines Problem, bezüglich einer Online-Anzeige. (TS-Server)
Bei meinem PHP-Code durchläuft jedesmal, wenn jemand die Seite aktualisiert, ein Query ab der auf den TS-Server für eine kurzen Bruchteil einer Sekunde connectet & disconnectet
und sammelt dadurch die "Werte", wie viele Spieler gerade da sind & ob der Server online ist.In meinem Fall hab ich gerade ein Problem, was den Code betrifft.
Wenn mehrere die Seite fast gleichzeitig aktualisieren, kommt es vor, dass der Query für ca. 500 Sekunden gebannt wird.
Wie kann ich das beheben oder gibt es eine andere Möglichkeit, wie ich die TS-Werte abfragen kann?Hier meine Include:
PHP
Alles anzeigen<?php date_default_timezone_set("Deutschland/Berlin"); require_once("libraries/TeamSpeak3/TeamSpeak3.php"); TeamSpeak3::init(); header('Content-Type: text/html; charset=utf8'); $status = "offline"; $count = 0; $max = 0; try { $ts3 = TeamSpeak3::factory("serverquery://serveradmin:QueryPasswort@IP:10011/?server_port=9987&use_offline_as_virtual=1&no_query_clients=1"); $status = $ts3->getProperty("virtualserver_status"); $count = $ts3->getProperty("virtualserver_clientsonline") - $ts3->getProperty("virtualserver_queryclientsonline"); $max = $ts3->getProperty("virtualserver_maxclients"); } catch (Exception $e) { echo '<div style="background-color:red; color:white; display:block; font-weight:bold;">QueryError: ' . $e->getCode() . ' ' . $e->getMessage() . '</div>'; } if($status == "offline") { echo 'Der TS-Server ist derzeit <span style="color: darkred;">Offline</span>.'; }else if($status == "online") { echo '<font color=#000><b>'. $count . '/' . $max .'</b></font> Benutzer sind aktuell auf dem TS-Server <span style="color: darkgreen;">Online</span>!'; } ?>