用了Laravel三個月後的感想

這次的side project,我決定不繼續使用 codeigniter4 而選用 laravel8 框架來當開發。
從去年10月到現在大概用了3個月左右的時間。
我想紀錄一下我的使用心得。

我很喜歡 codeigniter 那種自由度,所以我一直沒有想要換成其他PHP的框架。尤其是在我某案子用過 cakePHP 後更是這麼感覺。
但是近幾年大家都採用 laravel 的狀況下,也對這個框架有點興趣。想說來看看跟自己熟悉的框架有什麼不同。趁著side project不是很趕著上線的狀下,來摸索一下 laravel。用起來我覺得,與 codeigniter3 相差蠻大的,但是與 codeigniter4 沒有什麼太大的差別。可能是 codeigniter4 也學習了很多 laravel 的優點的關係?

先說說我喜歡的點

  • Collection
    • 這個真的超好用,提供了各式各樣的方法讓你可以輕鬆的操作陣列!
  • Eloquent ORM
    • laravel 在model層的設計相當優秀。尤其是在Eloquent ORM 的部分,基本上可以不用理會底層的SQL的結構,只需要很直覺的在model裡寫上個 hasMany 或是 hasOne 就能夠在 Collection 裡面把資料塞進去。這點真的在開發上省下不少時間。
  • Blade的component
    • 這個部分有點像是在寫前端一樣,可以把畫面上每個東西拆出來變共用,不用擔心整個 template 變得亂七八糟,可以排的很整齊,而且可以很明確的知道這個部分是塞什麼進來

不喜歡的地方也有

  • 自由度
    • 其實嫌這個也很奇怪XD,單純是codeigniter太自由了,可以亂寫都不會錯。
  • 某些地方過於複雜
    • 這點其實是出自於我本來想自己針對使用者LOGIN作權限的限制,但在codeigniter上隨便幾行就能搞定的東西,在laravel上必須要大費周章的寫provider才能夠辦到。這點讓我覺得不可思議,如果是一個剛入門的新手,我想很難想到要怎麼寫:(

說實在的,其實我在一開始用 laravel 時,在作專案底層的設計時,我就把之前開發 codeigniter 那套思維給搬過來了,所以一不小心我的 laravel 就變成跟 codeigniter 類似的架構了…所以我用 laravel 感覺跟我在用 codeigniter 根本沒有什麼差別,好處是可以在網路上撈到很多laravel能直接用的東西,加速開發的速度。目前用了三個多月覺得還不錯,沒意外應該會繼續用下去!