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