Laravel config Datei anlegen

Ich musste mal bei einer bestehenden Laravel Installation eine Paypal Integration bei einem Kunden vornehmen. Nebenbei bemerkt möchte ich das mal loswerden. Paypal hat eine schreckliche Dokumentation. Sie ist überhaupt nicht intuitiv. Aber das ist überhaupt ein anderes Thema.

Ich installierte im Projekt über den Composer die Paypal SDK:

composer require paypal/paypal-checkout-sdk 

Zusätzlich legte ich mir einen neuen Order Services unter app. Dort legte ich eine neue Datei names PaypalClient an. Diese beinhaltete die Logik um mit dem Paypal server in Kontakt zu treten um zum Beispiel eine Bestellung und deren Details sich ausgeben zu lassen. Das kann zum Beispiel und ist in meinem Fall auch so, wichtig um den Bestellvorgang in meiner Datenbank zu hinterlegen. Die PaypallClient Klasse benötigt dazu aber Credentials (Client_id, Secret). Diese kann man natürlich direkt aus der .env laden. Aber eleganter wäre es die aus einer eigens benannten config Datei zu holen. Die folgerichtig auch im config Ordner liegt. Wir legen also eine neue Datei unter config an. Und fügen folgenden Code dort ein:

<?php
/**
 * PayPal Setting & API Credentials
 */
return [
    'client_id' => env('PAYPAL_CLIENT_ID', ''),
    'secret' => env('PAYPAL_SECRET', ''),
];

Und in der env fügen diese zwei zeilen ein:

PAYPAL_CLIENT_ID=xxx
PAYPAL_SECRET=yyy

Und an dem Ort wo wir nun die Credentials benötigen – in meinem Fall nun in der PaypalClient Klasse – holen wir uns die Daten mit

$client_id = config('paypal.client_id');
$secret = config('paypal.secret');

Das wirkt jedenfalls aufgeräumter und hat Potenzial bei zukünftigen Herausforderungen mit dem Kunden flexibler zu arbeiten. Zum Beispiel könnt ihr ja in der paypal.php Config Datei einen automatischen switch zwischen Production und Development Umgebung vornehmen.


Leave a Comment

Your email address will not be published.

*

*

Empfholende Artikel


Larvel withCount mit Where Condition

November 18, 2021

Stellt Euch vor ihr habt ein Model Post mit einer Relation Comment. Auf der Übersichtsseite von Post möchtet ihr nur die Anzahl der Kommentare eines jeweiligen Post anzeigen. Dafür gibt es die echt hilfreiche Laravel Funktion withCount(). Post::withCount(‘comments’)->all(); Aber bei Comments kann es ja sein, dass manchen noch approved werden müssen. Diese müssen dann noch […]

Laravel Mailhog Docker

October 20, 2021

Letztens wurde ich gefragt, wie ich Mail bei Laravel teste. Ich meinte ich habe einen SMTP Server den ich nutzen kann. Da meinte er, dass wäre zwar okay aber man könnte sich damit auch eine valide Mailadresse verbrennen. Mit verbrennen meint der Kollege, dass sie global als SPAM Mailadresse angerechnet werden kann. Falls die Tests […]

Meine wichtigsten Artisan Commands

September 6, 2021

Als Laravel Entwickler braucht man sie ständig. Wenn man etwas länger Frontendarbeiten gemacht hat, kommt es schon mal vor, dass man etwas vergessen hat. Daher hier die Liste mit den häufigsten Artisan Commands: php artisan migrate:rollback –step=1 Ihr wollte eine oder x-beliebige Migrationen zurückspulen? Dann rollback und die Anzahl der Migrationssteps eingeben. php artisan migrate:refresh […]

Laravel – Slugs einrichten

September 2, 2021

Slugs machen die URLs Sprechender und damit auch SEO-(Freund)licher. Statt domain.de/posts/1 würde man mit domain.de/posts/mein-erster-blog-eintrag arbeiten. Um das in Laravel zu realisieren, bedient man sich in der Regel externer Bibliotheken. Einmal eine von Spartie und eine cviebrock. Man kann es natürlich aber auch selber machen. Die Bibliotheken sind hier aber vorzuziehen. Weil es ist keine […]

Laravel Blade Components

August 27, 2021

Componets – Aus VueJS kennen wir es und haben es bereits lieben gelernt. In Laravel können wir im Blade auch sehr dynamisch in Componenten arbeiten. Von Hause gibt uns Laravel Componets mit. Am Beispiel erklärt Stellen wir uns vor, wir wollen ein Blog erstellen. In der Übersichtsseite, sollen die Blogartikel untereinander gelistet werden. Wer ohne […]

Laravel Resource – Kurz mal erklärt

August 26, 2021

Nutzen wir zum Beispiel Larvel als Backend und beliefern das Frontend via api Route mit Daten, dann stellt sich manchmal die Frage, welche Daten braucht das Frontend eigentlich? Braucht man wirklich created_at oder updated_at mit auszuliefern? Sobald man sich so eine oder ähnliche Frage stellt wird es Zeit sich mal mit Laravel Resource auseinander zu […]