[RUBY] Comparé aux rails, laravel est ... (sentiment divers)

introduction

Je viens d'essayer un cours de laravel avec udemy, mais j'écris ce que j'ai ressenti par rapport à l'écriture de rubis sur des rails que j'avais étudiée jusqu'à présent.

Éléments faciles à modifier (options de colonne, etc.) dans le tableau

laravel est beaucoup plus facile à modifier le contenu de la base de données que les rails. Il est également très utile d'avoir des méthodes ascendantes et descendantes dans le fichier de migration par défaut.

Ce que j'ai trouvé ennuyeux lors de l'utilisation de rails, c'est que chaque fois que j'ajoutais ou supprimais des colonnes ou ajoutais des options à une table, je devais revenir en arrière ou créer un nouveau fichier de migration. C'est une mauvaise chose.

De plus, lors de l'ajout d'options, si vous n'écrivez pas vous-même les méthodes up et down, vous voudrez supprimer le fichier de migration plus tard et vous ne pourrez pas revenir en arrière en utilisant la restauration (migrate: status to down). devenir incapable). Je me souviens de l'avoir fait sans le savoir du tout et d'avoir beaucoup souffert.

Comment écrire la validation est légèrement différent

Emplacement de la description

Dans les rails, la validation est décrite dans le modèle, alors que

Dans laravel, écrivez-le dans un fichier appelé controller ou ** FormRequest ** qui n'était pas dans les rails.

Moment de l'exécution de la validation

Dans les rails, la validation était exécutée lors de la création, de l'enregistrement et de la mise à jour du modèle.

laravel est dans la méthode du contrôleur. De plus, si vous l'écrivez dans ** FormRequest **, vous pouvez terminer la validation lorsque vous entrez la méthode du contrôleur.

L'idée de mystérieuse DI (injection de dépendance)

C'est la partie que je ne comprends pas le plus jusqu'à présent. C'est une façon de penser qui n'était pas des rails. (Il semble que vous puissiez l'implémenter vous-même). Pour plus d'informations, lisez la page Ressources à la fin de cet article. Je peux le comprendre d'une certaine manière, mais il est difficile de l'utiliser.

Je ne peux donc pas expliquer en détail ici.

En termes simples, ** ne créez pas d'instances dans une classe **.

Grande quantité de description

Comparé aux rails, laravel est long et difficile à écrire, que ce soit en ligne de commande ou en codage.

rails

items = Item.all
item = Item.find(1)
name = item.name 

#Ligne de commande
rails s

rails db:migrate

laravel

$items = Item::all();
$item = Item::find(1);
$name = $item->name;

//Ligne de commande
php artisan serve

php artisan db:migrate

Comme vous pouvez le voir.

Les fonctions d'authentification des utilisateurs sont fournies par défaut

Afin d'ajouter des fonctions d'authentification utilisateur aux rails, il était nécessaire d'installer une gemme appelée devise, mais dans le cas de laravel, elle est fournie par défaut. Ce n'est pas une si grande différence, mais pour référence.

en conclusion

Je suis encore nouveau dans laravel, et il y a certaines parties que je ne comprends pas, mais je les ai résumées. Je vous serais reconnaissant si vous pouviez signaler des erreurs dans la description.

Matériel de référence

Comparez les fonctionnalités de Laravel et de Rails! J'ai essayé de résumer le routage, l'ORM, la DI, etc. https://techblog.raccoon.ne.jp/archives/1550033605.html

Comment utiliser spécifiquement l'injection de dépendance de Laravel (DI) https://qiita.com/ishiitakeru/items/e47dbb3e5b07078cc9b5

À propos de l'injection de dépendance https://laraweb.net/surrounding/2001/

Recommended Posts

Comparé aux rails, laravel est ... (sentiment divers)
[Rails] Enum est plus facile à utiliser! Énumélisez!
Comment écrire des rails
Présentation de Bootstrap à Rails 5
Présentation de Bootstrap aux rails !!
Présentation de Vue.js à Rails
Comment désinstaller Rails