[RUBY] Laravel ist im Vergleich zu Rails ... (verschiedenes Gefühl)

Einführung

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.

Einfach zu ändernde Elemente (Spaltenoptionen usw.) in der Tabelle

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.

Das Schreiben einer Validierung unterscheidet sich geringfügig

Beschreibung Ort

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.

Zeitpunkt der Validierungsausführung

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.

Die Idee der mysteriösen DI (Dependency Injection)

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 **.

Große Menge an Beschreibung

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.

Benutzerauthentifizierungsfunktionen werden standardmäßig bereitgestellt

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.

abschließend

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.

Referenzmaterial

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/

Recommended Posts

Laravel ist im Vergleich zu Rails ... (verschiedenes Gefühl)
[Rails] Enum ist einfacher zu bedienen! Enumelize!
Wie schreibe ich Rails
Einführung in Bootstrap in Rails 5
Bootstrap in Rails einführen !!
Einführung von Vue.js in Rails
So deinstallieren Sie Rails