Ich habe entlang http://laravel.com/docs/5.0/commands folgen und in Laravel 5 handwerklichen Befehl erstellen können. Aber, wie kann ich Handwerker Befehl erstellen und es zu Paketen verpacken?Laravel 5 - Erstellen Artisan Command für Pakete
Antwort
Sie können und sollten die Paketbefehle in einem Service-Provider registrieren mit $this->commands()
im register()
Methode:
namespace Vendor\Package;
class MyServiceProvider extends ServiceProvider {
protected $commands = [
'Vendor\Package\Commands\MyCommand',
'Vendor\Package\Commands\FooCommand',
'Vendor\Package\Commands\BarCommand',
];
public function register(){
$this->commands($this->commands);
}
}
Danke für Ihre Antwort. Aber wie kann ich es auf meine Befehlsdatei beziehen? Wenn ich beispielsweise alle Befehlsdateien in den Ordner "Commands" lege, in dem sich der Befehlsordner auf demselben Pfad wie MyServiceProvider befindet. Wie kann ich darauf verlinken? – user1995781
Zuerst müssen die Befehle automatisch geladen werden. Normalerweise, wenn die anderen Dateien in Ihrem Paket funktionieren, sollte das der Fall sein. (Stellen Sie sicher, dass sich die Befehle im richtigen Namespace befinden, der dem Verzeichnis entspricht. Dies sollte etwas wie 'namespace Vendor \ Package \ Commands' sein. Dann müssen Sie es nur mit seinem vollständig qualifizierten Namen im Array $ commands referenzieren. Wie in meiner bearbeiteten Antwort ... – lukasgeiter
Wenn das $ defferred = true gesetzt ist, dann erscheinen die Befehle nicht auf der handwerklichen Ausgabe .. :( –
ein neues Projekt erstellen und zu sehen, Verkäufer/Laravel/Rahmen/src/Illuminate/Auth/* Es gibt einen "Console" -Ordner, in dem Sie sehen können, wie der make: auth-Befehl funktioniert, und der Auth-Ordner selbst ist ein Paket, also können Sie dem als Beispiel folgen :)! – lcjury