大家都怎麼啦!
過去幾個月我一直在研究 Rust,並且總是試圖接近 Laravel 環境中的實際堆疊。
對於我來說,作為一名 PHP 開發人員,跳入 Rust 確實是一項艱鉅的任務,因為我以前從未接觸過函數式編程,但是我找到了一種方法讓這變得「更容易」。
整個生態系統由不同的套件組成,您應該根據需要加入它,這與 Laravel 不同,Laravel 圍繞框架有一個非常強大的環境。
所以我的第一印像是我必須學習如何使用基礎包:
多滕維
時空
時間
Uuid
等等。
但是當涉及到 Web 開發(主要是 API)時,您必須從眾多現有框架中選擇一個。喜歡:
Actix(目前使用)
阿克蘇姆(評估中)
Rocket(人們總是告訴我不要使用它,仍然不知道為什麼)
而且它們都沒有 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