Ich habe gerade einen Laravel-Kurs mit udemy ausprobiert, aber ich schreibe auf, was ich fühlte, verglichen mit dem Schreiben von Rubin auf Schienen, die ich bisher studiert hatte.
Laravel ist viel einfacher, den Inhalt der Datenbank zu ändern als Rails. Es ist auch sehr hilfreich, standardmäßig Auf- und Ab-Methoden in der Migrationsdatei zu haben.
Was ich bei der Verwendung von Rails als störend empfand, war, dass ich jedes Mal, wenn ich einer Tabelle Spalten hinzufügte oder entfernte oder Optionen hinzufügte, ein Rollback durchführen oder eine neue Migrationsdatei erstellen musste. Es ist eine schlechte Sache.
Wenn Sie beim Hinzufügen von Optionen die Auf- und Ab-Methoden nicht selbst schreiben, möchten Sie die Migrationsdatei später löschen und können nicht mehr mit Rollback zurückkehren (migrieren: Status nach unten). unfähig werden). Ich erinnere mich, dass ich es getan habe, ohne es zu wissen und unter großen Schmerzen gelitten habe.
In Schienen wird die Validierung im Modell beschrieben, wohingegen
Schreiben Sie es in Laravel in eine Datei namens Controller oder ** FormRequest **, die sich nicht in den Schienen befand.
In Rails wurde die Validierung ausgeführt, als das Erstellen, Speichern und Aktualisieren des Modells ausgeführt wurde.
Laravel ist in der Methode der Steuerung. Wenn Sie es in ** FormRequest ** schreiben, können Sie es so gestalten, dass die Validierung abgeschlossen ist, wenn Sie die Controller-Methode eingeben.
Dies ist der Teil, den ich bisher nicht am meisten verstehe. Es ist eine Denkweise, die keine Schienen waren. (Es scheint, dass Sie es selbst implementieren können). Weitere Informationen finden Sie auf der Seite Ressourcen am Ende dieses Artikels. Ich kann es irgendwie verstehen, aber es ist schwierig, es tatsächlich zu benutzen.
Daher kann ich hier nicht im Detail erklären.
Einfach ausgedrückt: ** Erstellen Sie keine Instanzen innerhalb einer Klasse **.
Im Vergleich zu Rails ist Laravel lang und schwer zu schreiben, egal ob Befehlszeile oder Codierung.
rails
items = Item.all
item = Item.find(1)
name = item.name
#Befehlszeile
rails s
rails db:migrate
laravel
$items = Item::all();
$item = Item::find(1);
$name = $item->name;
//Befehlszeile
php artisan serve
php artisan db:migrate
Wie du siehst.
Um Rails Benutzerauthentifizierungsfunktionen hinzuzufügen, musste ein Juwel namens devise installiert werden. Bei Laravel wird es jedoch standardmäßig bereitgestellt. Es ist kein so großer Unterschied, aber als Referenz.
Ich bin noch neu in Laravel und es gibt einige Teile, die ich nicht verstehe, aber ich habe sie zusammengefasst. Ich würde mich freuen, wenn Sie auf Fehler in der Beschreibung hinweisen könnten.
Vergleichen Sie die Funktionen von Laravel und Rails! Ich habe versucht, Routing, ORM, DI usw. zusammenzufassen. https://techblog.raccoon.ne.jp/archives/1550033605.html
Verwendung von Laravel's Dependency Injection (DI) https://qiita.com/ishiitakeru/items/e47dbb3e5b07078cc9b5
Über die Injektion von Abhängigkeit https://laraweb.net/surrounding/2001/