2016-08-26 4 views
0

Ich bin ein bisschen verwirrt darüber, wo so etwas zu Laravel gehört.Wo man Sachen in Laravel setzt 5.1

Ich möchte eine Web-Service-Client-Wrapper in Laravel schreiben, und ich will es dies wie Zugang:

\MyWSClient::getSomeInfoAbout($someId); 

dann der Code wird an den Webdienst zu http://www.someapi.com/api/getSomeInfoAbout?id= $ someid & Typ verbinden = json mit OAuth2 oder einige Token-Anfragen, dann holen Sie die Daten, Token-Informationen zu halten, bis sie abläuft, Token zu aktualisieren, falls erforderlich usw.

Aber wo werde ich den Code? Im Verzeichnis vendor als neues Paket? Ich verschiebe diesen Code von einem Computer auf einen anderen Computer außer vendor, storage und node_modules Ordner, weil sie riesig sind und wenn ich dies tun, muss ich nur einen Ordner im Händlerverzeichnis verschieben. Und ich muss ein Paket in Entwicklung zum Komponisten veröffentlichen, wenn ich Portabilität etc. möchte.

Gibt es eine andere Möglichkeit, etwas wie das zu tun?

+0

nur Ihren Code in Ordner zu Ihrem Stammordner des Projekts hinzuzufügen. Registrieren Sie den Ordner dann in Ihrem Composer-Ordner. –

+0

Jetzt versuche ich es. Ich habe einen Paketordner neben dem Herstellerordner erstellt und versucht, darin ein Paket zu erstellen. –

Antwort

0

Ich denke, ich habe die Antwort gefunden.

Zuerst musste ich jeroen-g/laravel-packager Paket verwenden, um ein neues Paket mit Artisan-Konsole zu erstellen. Ich hätte das mit der Hand machen können, aber ich kannte die erforderlichen Dateien nicht.

Zweitens habe ich ein neues Paket im Ordner packages mit meinem gewünschten Klassennamen erstellt.

Drittens habe ich den Anbieter und den Alias ​​für die Klasse in app.php hinzugefügt.

Danach habe ich eine Testmethode in meinem Controller erstellt und eine Route dafür geschrieben. Ich habe die statische Methode aufgerufen, die ich in dem für mich erstellten Packager SkeletonClass geschrieben habe.

Und es funktionierte mit einigen Optimierungen nach der Erstellung.

Ich habe php artisan packager:new tpaksu mypackage --i Befehl für eine interaktive Paketerstellung verwendet, die cool ist.

Hinweis: Ich habe gerade die Existenz dieses Paket gelernt, ich bin die Werbung es nicht :)