Einen Überblick über das Administrationstool KeyHelp der Keyweb AG und dessen Download gibt es auf https://www.keyhelp.de

Dieses Forum soll es interessierten Benutzern ermöglichen, sich über KeyHelp auszutauschen und Hilfe bei Problemen zu finden.

KeyHelp PHP - API Client

Bastelecke für Scripte
Antworten
Benutzeravatar
Tobi
Community Moderator
Beiträge: 1342
Registriert: Do 5. Jan 2017, 13:24

KeyHelp PHP - API Client

Beitrag von Tobi »

Tach Zusammen,

ich möchte euch heute den ersten PHP API Client für die neue KeyHelp-API vorstellen ;) .
Einige von Euch sind ebenso BETA Tester und können damit eventuell better testen.

Mit dem Client kann man aktuell neue User, Domains und Datenbanken hinzufügen.
Es hat eine kleine Klasse "khapi" welche die Kommunikation mit der API regelt.
Das Script ist multi-server fähig.

Um das Script zu benutzen benötigt ihr eine gültige API Kennung.
Ihr müsst das Script in "index.php" umbenennen.
Am Anfang des Scriptes müsst ihr eine Catch-All-Maildomain eintragen und die KeyHelp-Serverkonfiguration ausfüllen.

Vielleicht habt Ihr ja Lust eigene "actions" zu definieren?

Ich freue mich auf jeden Fall über auf euer Feedback.
Dateianhänge
index.php.txt
(43.22 KiB) 176-mal heruntergeladen
Gruß,
Tobi


-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
KnechtRootRecht
Beiträge: 28
Registriert: Do 16. Mai 2019, 11:03

Re: KeyHelp PHP - API Client

Beitrag von KnechtRootRecht »

Ohne dir jetzt nahe treten zu wollen, ich hab nach der hälfte des Skriptes abgebrochen den Code anzuschauen.
Soll diese Klasse noch mit PHP4 funktionieren?
Ich nenne dir mal einige Kleinigkeiten die mir aufgefallen sind:

- mit "var" declarierte Klasseneigenschaften
- keine Typenprüfung bei Vergleichen
- snake_case schreibweises von Variablen und Methoden
- Deutsch/Englisch gemischt bei Bennenung von Variablen
- cUrl ist auch nur minimal befüllt

In Zeiten von PHP 7 würde ich eher auf composer und externen Tools setzen. GuzzleHttp zb.
Benutzeravatar
OlliTheDarkness
Beiträge: 963
Registriert: Di 14. Aug 2018, 16:41
Wohnort: Essen (NRW)

Re: KeyHelp PHP - API Client

Beitrag von OlliTheDarkness »

KnechtRootRecht hat geschrieben:
Mo 23. Dez 2019, 09:01
Ohne dir jetzt nahe treten zu wollen, ich hab nach der hälfte des Skriptes abgebrochen den Code anzuschauen.
Soll diese Klasse noch mit PHP4 funktionieren?
Ich nenne dir mal einige Kleinigkeiten die mir aufgefallen sind:

- mit "var" declarierte Klasseneigenschaften
- keine Typenprüfung bei Vergleichen
- snake_case schreibweises von Variablen und Methoden
- Deutsch/Englisch gemischt bei Bennenung von Variablen
- cUrl ist auch nur minimal befüllt

In Zeiten von PHP 7 würde ich eher auf composer und externen Tools setzen. GuzzleHttp zb.
Ich presche mal dazwischen und merke an wo wir sind >>> BASTELLECKE <<< 8-)
Du darfst gern Verbesserungen abgeben und bereitstellen :)

Hier ist nicht alles Perfekt, aber dafür gibt es ja uns User, die ggf. helfen etwas zu verbessern 8-)
KnechtRootRecht
Beiträge: 28
Registriert: Do 16. Mai 2019, 11:03

Re: KeyHelp PHP - API Client

Beitrag von KnechtRootRecht »

OlliTheDarkness hat geschrieben:
Mo 23. Dez 2019, 09:13
Ich presche mal dazwischen und merke an wo wir sind >>> BASTELLECKE <<< 8-)
Du darfst gern Verbesserungen abgeben und bereitstellen :)

Hier ist nicht alles Perfekt, aber dafür gibt es ja uns User, die ggf. helfen etwas zu verbessern 8-)
Dessen bin ich mir durchaus bewusst :P
Finde es ja auch gut das sich jemand die Mühe macht und es auch öffentlich bereitstellt.
Doch dann sollte es schon eine gewisse fundierte Base haben.
Eine Beta-Phase deckt normalerweise nur den Funktionsumfang ab, keine Code-Verbesserungen.

Ich habe mir in der Tat auch schon Gedanken gemacht eine Lib bereitzustellen, aber dafür fehlt im Moment leider die Zeit.
select name from me;
Beiträge: 509
Registriert: Di 9. Feb 2016, 16:44

Re: KeyHelp PHP - API Client

Beitrag von select name from me; »

KnechtRootRecht hat geschrieben:
Mo 23. Dez 2019, 09:27
Doch dann sollte es schon eine gewisse fundierte Base haben.
...
Ich habe mir in der Tat auch schon Gedanken gemacht eine Lib bereitzustellen, aber dafür fehlt im Moment leider die Zeit.
Also haben wir die Wahl zwischen "Kein Code, weil keiner Zeit hatte" und "Code der noch nicht mal BETA ist, weil Tobi eigentlich auch keine Zeit hat und ihn deshalb in die Bastelecke stellt, statt ein ein Open Source Projekt ins Leben zu rufen und sich ordentlich um die Community zu kümmern" .

ALSO TOBI! Immer das gleiche mit Dir. :evil: :lol: :mrgreen:

Spaß beiseite. Wir freuen uns sehr, wenn Du Zeit findest und Dich um eine tolle Lib und die Community drumherum kümmerst.
Viele Grüße, Christian
Benutzeravatar
Tobi
Community Moderator
Beiträge: 1342
Registriert: Do 5. Jan 2017, 13:24

Re: KeyHelp PHP - API Client

Beitrag von Tobi »

KnechtRootRecht hat geschrieben:
Mo 23. Dez 2019, 09:01
Ohne dir jetzt nahe treten zu wollen, ich hab nach der hälfte des Skriptes abgebrochen den Code anzuschauen.
Schade, da ist dir das Beste doch glatt entgangen 😅, aber erstmal Danke für deine Meinung. Dies ist ein freies Land und dieses Forum lebt von der freiwilligen Teilnahme.
Ich bin bemüht deinen Beitrag als "konstruktive Kritik" zu sehen. Daher antworte ich dir gerne auf deine deine Fragen.


KnechtRootRecht hat geschrieben:
Mo 23. Dez 2019, 09:01
Soll diese Klasse noch mit PHP4 funktionieren?
Da muss ich dich leider enttäuschen. Erst ab PHP 7 ist es möglich Arrays in Konstanten mit "define()" zuzuweisen. Siehe https://www.php.net/manual/de/language. ... syntax.php
Eventeull könnte man das noch an 5.6 anpassen oder eben darauf verzichten ein Array in der Konstanten zu speichern. Aber da sich diesbezüglich noch niemand beschwert hat, lassen wir das erst mal so wie es ist.



KnechtRootRecht hat geschrieben:
Mo 23. Dez 2019, 09:01
mit "var" declarierte Klasseneigenschaften

Nicht richtig? Wie wäre es denn richtig?


KnechtRootRecht hat geschrieben:
Mo 23. Dez 2019, 09:01
keine Typenprüfung bei Vergleichen

Da alle Variablen auf ihren inhaltlichen Gültigkeitsbereich, ggf. auch mit "is_numeric()", geprüft werden halte ich das für ausreichend. Oder siehst du da ein Sicherheitsproblem?


KnechtRootRecht hat geschrieben:
Mo 23. Dez 2019, 09:01
snake_case schreibweises von Variablen und Methoden

Ertappt! Dass du CamelCaseSchreibweise bevorzugst kann man bereits an deinem Benuternamen erkennen. Respekt dafür :lol: . Ansonsten ist es aus meiner Sicht völlig Banane ob nun Snake_Case_oder CamelLike. Mir ist wohl bewusst, dass einige Programmierer CamelCase für "richtiger" empfinden. Ich bin da OldSchool.


KnechtRootRecht hat geschrieben:
Mo 23. Dez 2019, 09:01
Deutsch/Englisch gemischt bei Bennenung von Variablen

Auch hier, schuldig im Sinne der Anklage! Kein schöner Programmierstil, aber die Variablen-Benennung ist für mich zumindest nachvollziehbar. Von Jan weiss ich zum Beispiel, dass er denglisch auch nicht leiden kann :mrgreen: .


KnechtRootRecht hat geschrieben:
Mo 23. Dez 2019, 09:01
cUrl ist auch nur minimal befüllt

Gut erkannnt, die Löschen (DELETE) Methode ist da aktuell nicht umgesetzt. Deswegen habe ich in meinem ersten Posting auch gefragt ob irgendjemand hier Lust, Wissen & Zeit hat an der Klasse mitzuarbeiten. Leider hast du nur Zeit für Forenpostings und bisher nicht für eine Verbesserung des Quellcodes. Daher warten die anderen User und ich jetzt einfach mal ab ob da noch was kommt. Ansonsten werde ich mich sicherlich irgendwann dransetzen und die Lücken im Quellcode noch füllen.


KnechtRootRecht hat geschrieben:
Mo 23. Dez 2019, 09:01
In Zeiten von PHP 7 würde ich eher auf composer und externen Tools setzen. GuzzleHttp zb.

Ja klar, kann man sicherlich machen wenn man die ganze Welt an seinem Elaborat teilhaben lassen will. Mir ging es jetzt primär um die paar KeyHelp User welche sich mit der API ein paar "Abkürzungen" selbst programmieren wollen, aber nicht so recht wissen wie und wo man anfangen muss. Daher habe ich bewusst darauf verzichtet aus dem Ding ein GitHub-Projekt zu machen. Einzig mit einer Amazaon-Geschenke-Liste könnte ich dienen. Aber sowas hast du wohl eher nicht gemein als du von "externen Tools" geschrieben hast 😃.


KnechtRootRecht hat geschrieben:
Mo 23. Dez 2019, 09:27
Ich habe mir in der Tat auch schon Gedanken gemacht eine Lib bereitzustellen, aber dafür fehlt im Moment leider die Zeit.
Und genau dafür sollte mein API-Client-Entwurf gedacht sein. Anstatt das Rad jedemal neu zu erfinden kann man Bestehendes nutzen, optimieren und zurück geben. So haben alle viel schneller etwas davon.

Sobald die Anzahl der hier mitwirkenden Programmierer die Zahl 5 übersteigt, werden wir dann doch alles zu GitHUb portieren.
Gruß,
Tobi


-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
Benutzeravatar
OlliTheDarkness
Beiträge: 963
Registriert: Di 14. Aug 2018, 16:41
Wohnort: Essen (NRW)

Re: KeyHelp PHP - API Client

Beitrag von OlliTheDarkness »

Tobi hat geschrieben:
Do 26. Dez 2019, 18:18

Sobald die Anzahl der hier mitwirkenden Programmierer die Zahl 5 übersteigt, werden wir dann doch alles zu GitHUb portieren.
Mir war neu das es nen Projekt werden sollte :lol:
Musst nur sprechen alter Mann 8-) :P
Dabei und so :D
Benutzeravatar
Enigma
Beiträge: 251
Registriert: Do 2. Aug 2018, 19:18

Re: KeyHelp PHP - API Client

Beitrag von Enigma »

Tobi hat geschrieben:
Do 26. Dez 2019, 18:18
KnechtRootRecht hat geschrieben:
Mo 23. Dez 2019, 09:01
mit "var" declarierte Klasseneigenschaften

Nicht richtig? Wie wäre es denn richtig?

Heutzutage mit public, protected oder private - je nachdem, was für die jeweilige Eigenschaft am sinnvollsten ist.

Tobi hat geschrieben:
Do 26. Dez 2019, 18:18
KnechtRootRecht hat geschrieben:
Mo 23. Dez 2019, 09:01
keine Typenprüfung bei Vergleichen

Da alle Variablen auf ihren inhaltlichen Gültigkeitsbereich, ggf. auch mit "is_numeric()", geprüft werden halte ich das für ausreichend. Oder siehst du da ein Sicherheitsproblem?

Vergleiche sollten wann immer möglich mit === statt == durchgeführt werden. Und zwar ohne dass man jedes Mal darüber nachgrübeln muss, ob das nun unbedingt nötig ist oder nicht. Allein das macht das Ganze schon stringenter und auch sicherer.

Tobi hat geschrieben:
Do 26. Dez 2019, 18:18
KnechtRootRecht hat geschrieben:
Mo 23. Dez 2019, 09:01
snake_case schreibweises von Variablen und Methoden

Ertappt! Dass du CamelCaseSchreibweise bevorzugst kann man bereits an deinem Benuternamen erkennen. Respekt dafür :lol: . Ansonsten ist es aus meiner Sicht völlig Banane ob nun Snake_Case_oder CamelLike. Mir ist wohl bewusst, dass einige Programmierer CamelCase für "richtiger" empfinden. Ich bin da OldSchool.

Selbstverständlich kannst Du für Deine eigenen Projekte nutzen, was Du möchtest. Hast Du aber vor, mit anderen zusammenzuarbeiten oder Projekte später evtl. an andere Entwickler zu übergeben, solltest Du Dich an die PHP Standards Recommendations (PSRs) halten. Diese geben viele Dinge ziemlich genau vor - und sind IMHO auch sehr sinnvoll (meine eigenen Coding Styles waren in der Zeit vor den PSRs recht ähnlich).

Tobi hat geschrieben:
Do 26. Dez 2019, 18:18
KnechtRootRecht hat geschrieben:
Mo 23. Dez 2019, 09:01
Deutsch/Englisch gemischt bei Bennenung von Variablen

Auch hier, schuldig im Sinne der Anklage! Kein schöner Programmierstil, aber die Variablen-Benennung ist für mich zumindest nachvollziehbar. Von Jan weiss ich zum Beispiel, dass er denglisch auch nicht leiden kann :mrgreen: .

In der Tat - ich habe immer noch Albträume von der DF-API... :roll:

Gruß
Jan
This message has been ROT-13 encrypted twice for higher security.
Antworten