Laravel 和 Rust 有什么关系?我自有理由这么做。
大家好吗!
过去几个月我一直在研究 Rust,并一直试图更接近我围绕 Laravel 环境的实际堆栈。
对于我来说,作为一名 PHP 开发人员,进入 Rust 是一项真正艰巨的任务,因为我以前从未接触过函数式编程,但是我找到了一种让这变得“更容易”的方法。
据我所知,Rust
整个生态系统由不同的包组成,您应该根据需要添加它,而 Laravel 则在框架周围拥有非常强大的环境。
所以我的第一印象是我必须学习如何使用基础包:
- 多滕维
- 计时
- 时间
- 唯一标识符
- 等等。
但是当涉及到 Web 开发(主要是 API)时,你必须在众多现有框架中选择一个。例如:
- Actix(目前正在使用)
- 阿克苏姆(评价)
- 火箭(人们总是告诉我不要使用它,但仍然不知道为什么)
并且它们都没有 Laravel 的固执己见的“结构”,所以我决定创建自己的结构。
Rust 中的 Laravel
我为什么要谈论 Laravel?因为它提供的“MVC”结构对于使用 Rust Web 的小型项目来说足够优雅。
当我使用 Laravel 框架编写 Rust 代码时,事情开始变得有意义了。我所讨论的内容结构如下:
./src
├── app.rs
├── config.rs
├── http
│ ├── controllers
│ │ ├── leaderboard_controller.rs
│ │ ├── mod.rs
│ │ └── submissions_controller.rs
│ ├── mod.rs
│ └── requests
│ ├── leaderboard_request.rs
│ ├── mod.rs
│ └── submission_request.rs
├── main.rs
├── models
│ ├── leaderboard.rs
│ ├── mod.rs
│ └── submission.rs
└── repositories
├── leaderboard_repository.rs
├── mod.rs
└── submission_repository.rs
该项目目前正在使用:
你可以在这个Pull Request中查看我的混乱情况
问题是:在使用 Rust 时遵循这些想法会是件好事吗?简洁性和易于维护的结构正是我在项目中一直追求的。
另外,我正在考虑写一些关于如何从 PHP 迁移到 Rust 的系列文章,你有兴趣读一下吗?
希望在这里看到您的想法,谢谢!
文章来源:https://dev.to/danielhe4rt/laravel-inside-rust-i-have-a-reason-for-that-ke3