KeyHelp PHP - API Client

Diskussionen zur Verwendung der KeyHelp API.
Post Reply
User avatar
Tobi
Community Moderator
Posts: 2813
Joined: Thu 5. Jan 2017, 13:24

KeyHelp PHP - API Client

Post by 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.
Attachments
index.php.txt
(43.22 KiB) Downloaded 591 times
Gruß,
Tobi


-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
KnechtRootRecht
Posts: 36
Joined: Thu 16. May 2019, 11:03

Re: KeyHelp PHP - API Client

Post by 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.
User avatar
OlliTheDarkness
Posts: 1854
Joined: Tue 14. Aug 2018, 16:41
Location: Essen (NRW)

Re: KeyHelp PHP - API Client

Post by OlliTheDarkness »

KnechtRootRecht wrote: Mon 23. Dec 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-)
Mit freundlichen Grüßen
OlliTheDarkness

**************************************************************
Helden leben lange, Legenden sterben nie

:!: World Hack Organization :!:
**************************************************************
KnechtRootRecht
Posts: 36
Joined: Thu 16. May 2019, 11:03

Re: KeyHelp PHP - API Client

Post by KnechtRootRecht »

OlliTheDarkness wrote: Mon 23. Dec 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;
Posts: 579
Joined: Tue 9. Feb 2016, 16:44

Re: KeyHelp PHP - API Client

Post by select name from me; »

KnechtRootRecht wrote: Mon 23. Dec 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
User avatar
Tobi
Community Moderator
Posts: 2813
Joined: Thu 5. Jan 2017, 13:24

Re: KeyHelp PHP - API Client

Post by Tobi »

KnechtRootRecht wrote: Mon 23. Dec 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 wrote: Mon 23. Dec 2019, 09:01Soll 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 wrote: Mon 23. Dec 2019, 09:01mit "var" declarierte Klasseneigenschaften

Nicht richtig? Wie wäre es denn richtig?


KnechtRootRecht wrote: Mon 23. Dec 2019, 09:01keine 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 wrote: Mon 23. Dec 2019, 09:01snake_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 wrote: Mon 23. Dec 2019, 09:01Deutsch/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 wrote: Mon 23. Dec 2019, 09:01cUrl 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 wrote: Mon 23. Dec 2019, 09:01In 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 wrote: Mon 23. Dec 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
User avatar
OlliTheDarkness
Posts: 1854
Joined: Tue 14. Aug 2018, 16:41
Location: Essen (NRW)

Re: KeyHelp PHP - API Client

Post by OlliTheDarkness »

Tobi wrote: Thu 26. Dec 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
Mit freundlichen Grüßen
OlliTheDarkness

**************************************************************
Helden leben lange, Legenden sterben nie

:!: World Hack Organization :!:
**************************************************************
User avatar
Enigma
Posts: 258
Joined: Thu 2. Aug 2018, 19:18

Re: KeyHelp PHP - API Client

Post by Enigma »

Tobi wrote: Thu 26. Dec 2019, 18:18
KnechtRootRecht wrote: Mon 23. Dec 2019, 09:01mit "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 wrote: Thu 26. Dec 2019, 18:18
KnechtRootRecht wrote: Mon 23. Dec 2019, 09:01keine 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 wrote: Thu 26. Dec 2019, 18:18
KnechtRootRecht wrote: Mon 23. Dec 2019, 09:01snake_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 wrote: Thu 26. Dec 2019, 18:18
KnechtRootRecht wrote: Mon 23. Dec 2019, 09:01Deutsch/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.
User avatar
Justman10000
Posts: 190
Joined: Tue 15. Dec 2020, 16:40

Re: KeyHelp PHP - API Client

Post by Justman10000 »

Tobi wrote: Sun 20. Oct 2019, 17:51 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.
NICE! Funktioniert! Könntest du nein und ja zu Ja und Nein ändern, also auch vertauschen (Zeilen 311-329)? Hatte es selbst versucht, nur haut dann was mit CSS nicht mehr so hin!


Und bei den Datenbank anlegen auch so schreiben, dass man Name, Benutzername, Beschreibung und auch Passwort selbst wählen kann? Am besten, je nachdem wie es in KeyHelp konfiguriert ist, ob man bei Datenbanken den Namen und Benutzer selbst wählen darf...
User avatar
Tobi
Community Moderator
Posts: 2813
Joined: Thu 5. Jan 2017, 13:24

Re: KeyHelp PHP - API Client

Post by Tobi »

Jo mach mal 👍
Gruß,
Tobi


-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
User avatar
superjogi
Posts: 137
Joined: Sat 11. Jan 2020, 23:24

Re: KeyHelp PHP - API Client

Post by superjogi »

Ich mache mal eine Querverlinkung zu einer weiteren API relevanten Umsetzung für die Abfrage von diversen Listen:
viewtopic.php?p=31265#p31265
Post Reply