php-Scripte in Datenbank speichern

jennerhro

Newbie
Registriert
Sep. 2022
Beiträge
4
Hallo,

ich habe eigene kleine Skripte erstellt und will diese in eine Datenbank (sqlite) speichern, damit ich sie nicht mehrfach in Klassen schreiben bzw. neu erstellen muss … So suche ich diese in der DB und kann die Funktion kopieren.

Ich gebe die function in ein Textarea ein. Sie wird auch übertragen und mit $insert korrekt erstellt, aber nicht in die Datenbank gespeichert, obwohl eine aktive Verbindung besteht.

Was übersehe ich da?
 
Abgesehen davon, dass das nach absolut gruseligem Softwaredesign klingt, wäre es hilfreich, wenn du uns genauer beschreibst, was du wie machst.
 
  • Gefällt mir
Reaktionen: floq0r
Hi, momentan liegen die function (function tu_etwas($_eingabe)) in verschiedene Klassen ( class_Index ). Unter Umständen sind sie auch doppelt in verschiedene Klassen vorhanden ..

Ich will nun die function tu_etwas (…) in die DB mit einer kurzen Beschreibung speichert. Mit der Suche soll die function gefunden und angezeigt werden. Mehr eigentlich nicht
 
Vererbung bringt mich nicht weiter, da ich nicht jede Klasse bei jedem Projekt benötige und hinzufügen will.
 
Was soll diese Klasse den exakt tun?
Warum schreibst du dir nicht eine übergreifende Bibliothek und legst sie dahin, wo all die anderen php Module liegen?
Oder legst so an einen Ort, den du dann deiner Umgebung hinzugefügst?
 
OK, dass warum und so ist bei meiner Frage unwichtig …

In einem Formular trage ich ein: function tue_etwas() { foreach(…) { echo $test; } return; }
Diese Zeile soll dann in die Datenbank eintragen werden, damit ich nach der function suchen kann. Diese soll dann angezeigt, aber nicht ausgeführt werden.
$insert ( insert Into … values … ) wird korrekt erstellt und angezeigt, aber nich in die DB gespeichert.
 
Suche doch nach Prgrammen die für dich das machen. Es gibt Scriptverwaltungen ohne Ende. Was man auch tun kann, sind einfach GitHub Gists nutzen.

Oder halt einfach eine Textdatei auf deinem Rechner.
 
  • Gefällt mir
Reaktionen: madmax2010
Dein Problem hat dann ja nicht konkret was mit PHP Funktionen zu tun. Du willst einfach einen String in einer DB speichern und wieder abrufen. Dafür gibt es unzählige Ressourcen im Internet.
 
  • Gefällt mir
Reaktionen: henpara und madmax2010
obwohl eine aktive Verbindung besteht.
Was für eine Verbindung steht? Und wohin besteht die Verbindung? Gehen denn anderen Datenbankabfragen (z.B. selects?)?
Wenn der Insert korrekt als String angezeigt wurde, dann hast du keine Verbindung zur Datenbank, bzw. nicht zur richtigen Datenbank, oder das Datenbankschema stimmt nicht überein (falls es das bei sqlite gibt), was kommt als Fehlermeldung? Mehrere Insert-Befehle mit SQL-Trenner versehen?
 
jennerhro schrieb:
OK, dass warum und so ist bei meiner Frage unwichtig …
nicht ganz. Du kannst es halt entweder 1x ordentlich und richtig machen, oder die naechsten 10+ Jahre herumfrickeln.
Du implementierst ja auch nicht in jedem Projekt das du nutzt echo aufs neue. Du verwaltest deine deps. auch nicht manuell. Warum dann Funktionen mit beschreiben in einer DB?! abglegen, wenn man sie einfach in php lokal ablegen kann und mit den übrigen Abhängigkeiten verwalten kann ;)
Was dir da vorschwebt ist die am wenigsten elegante Möglichkeit seinen Code irgendwo hin zu legen.
Da kommt dann am ende gruselige Software bei raus

jennerhro schrieb:
$insert ( insert Into … values … ) wird korrekt erstellt und angezeigt, aber nich in die DB gespeichert.
aber gut. und warum nicht? So Datenbanken schreiben doch logs.
 
  • Gefällt mir
Reaktionen: snaxilian
jennerhro schrieb:
Vererbung bringt mich nicht weiter, da ich nicht jede Klasse bei jedem Projekt benötige und hinzufügen will.

Ich vermute mal, du benötigst einen Package Manager 😉: in PHP gibt es Composer. Darüber werden eigene (private) und public Packages installiert und so projektübergreifend wiederverwendet.

Mit Composer kannst du fürs erste auch komplett offline arbeiten und zusätzliche Repositories über den Dateipfad einbinden (https://getcomposer.org/doc/05-repositories.md#path).

Wichtig fürs Verständnis ist zudem das Autoloading in Composer und PSR-4 in PHP (sonst werden deine Klassen/Funktionen beim Ausführen von PHP nicht gefunden).
 
Zurück
Oben