Um eine Migration für OctoberCMS für ein neues Plugin zu erstellen, wechselt man in der Kommandozeile zuerst in den Ordner von OctoberCMS. Dort führt man dann den Befehl aus. Die Werte für MyName, MyPlugin und CreateMyNewTable sollten natürlich angepasst werden. Im Order plugins/myname/myplugin/updates sollte eine neue Datei zu finden sein, die create_my_new_table.php heißen müsste (oder …
[OctoberCMS] Cookies in OctoberCMS erstellen
Um in einem Plugin für OctoberCMS ein Cookie zu erstellen, reicht es meistens aus die Funktion Cookie::queue aufzurufen (https://laravel.com/docs/master/responses#attaching-cookies-to-responses). Ein Aufruf wie würde ein Cookie mit dem Namen mynewcookie mit dem Wert mynewcookiesvalue erstellen. Dieses Cookie hätte eine Cookie-Dauer von 60 Minuten. Doch will man das Cookie in JavaScript im Frontend benutzen, braucht man noch …
[OctoberCMS] JavaScript-Datei beim Aufruf mitladen
In einem OctoberCMS-Plugin wollte ich eine JavaScript Datei laden, sobald eine Seite von OctoberCMS geladen wird. In diesem Beispiel liegt die Datei in dem Ordner plugins/myname/myplugin/assets/js/script.js. Das laden der Datei lässt ich in der boot()-Funktion in der Plugin.php erreichen:
Mit PHP einen Tweet erstellen
Manchmal möchte man programmatisch einen Tweet auf X erstellen. Mit dem Paket abraham/twitteroauth lässt sich das leicht erreichen: Voraussetzung ist außerdem, dass man den Consumer Key, Consumer Secret, Access Token und Access Secret hat. Beim Access Token und Access Secret muss man darauf achten, dass diese mit Read, write and access Direct Messages Rechten ausgestattet …
semgrep in den GitHub Action Workflow einbauen
Das Programm semgrep kann Probleme im Code finden. Das können z.B. sicherheitsrelevante Schwachstellen oder Performance-Probleme sein. Da semgrep seit 2022 auch in PHP Probleme finden kann, kann es sich lohnen semgrep im CI/CD Workflow laufen zu lassen. In GitHub Actions kann das z.B. so aussehen: Der Parameter –error sollte dabei sein, damit der Workflow fehlschlägt …
Eine Benutzerregistrierung mit Laravel Sanctum einbauen
Mit Laravel Sanctum ist es relativ einfach, eine Benutzerregistrierung für eine API einzubauen. Dazu muss ab Laravel 11 die API installiert werden. Vor Laravel 11 ist die schon eingebaut. Dafür sorgt der Befehl Als nächstes braucht die Klasse User das Trait HasApiTokens: Nun brauchen wir einen Controller, in dem die Registrierung sowie der Login und …
[Laravel] Einmalige Werte in einer Tabellenspalte
Möchte man dafür sorgen, dass in einer Tabellenspalte nur einmalige Werte stehen, kann man die Funktion unique benutzen. Siehe z.B. dieses Beispiel:
[Laravel] In wenigen Minuten eine API CRUD generieren kann
Vor kurzem habe ich gelernt, wie man unter Laravel eine API CRUD erstellen kann. CRUD steht hierbei für Benutzt wird dabei das Paket ibex/crud-generator. Dies kann einfach mit dem Befehl installiert werden. Voraussetzung für den nächsten Schritt ist, dass man eine existierende Tabelle hat. Gibt es die Tabelle, kann man mit dem Befehl die API …
Veränderte Dateien in GitHub Actions herausfinden
Manchmal möchte man in GitHub Actions nur etwas tun, wenn bestimmte Dateien verändert wurden. Also muss man erst herausfinden, welche Dateien verändert wurden. Dafür gibt es die Action tj-actions/verify-changed-files. Um die veränderten Dateien zu finden, wird erst das Repo ausgecheckt: Anschließend ruft man die Action auf: Die Actions erstellt eine Output-Variable all_changed_files in der alle …
composer aktualisieren
Möchte man composer aktualisieren, ruft man auf. Damit wird composer zur aktuellsten Version aktualisiert. Hat man allerdings composer über ein Paketmanager installiert, kann es sein dass der Befehl self-update nicht zur Verfügung steht.