嗨,我是塔米·阿萊姆。讓我帶您經歷作為 Laravel 實習生的激動人心的旅程。我的目標是獲得行業經驗,編寫可讀的程式碼,並深入理解框架。以下是這一切的經過,以及我面臨的挑戰和我一路上找到的解決方案。
在實習期間,我有三個主要目標:
產業經驗:在專業環境中獲得實務經驗。
可讀程式碼:編寫乾淨、可維護且可讀的程式碼。
框架理解:深入了解 Laravel 框架。
我的旅程從設定開發環境開始。在這次實習之前,我使用前端架構與後端進行交互,要么透過 Blade 視圖,要么透過與 Vite 捆綁的 JavaScript。所以,我並沒有真正看到建立 CORS 之類的必要性。然後,我被介紹給了 Postman —— 哇,真是個改變遊戲規則的人!
郵差
Postman 幫助我設定和編輯 HTTP 請求、傳遞參數和值以及管理身份驗證和不記名令牌。這拓寬了我對後端結構及其運作原理的理解。查看原始形式的數據並直接對其進行操作令人大開眼界。我發現看似複雜的後端操作比我原先想的還要簡單。
作曲家
Composer 是另一個重要的工具。我用它來安裝軟體包並嚴格遵守 PHP PSR-4 格式標準。當我嚴格地說時,我是認真的!哈哈。當我不遵循標準時,我遇到了錯誤,例如生成文件並意識到由於模型和表的額外空格或不正確的命名約定而在命名空間中出現錯誤。
設定項目涉及幾個關鍵步驟:
儲存庫管理
複製儲存庫和設定我的環境一開始是相當困難的 — 哈哈,真是太棒了!有人向我介紹了 scribe:generate,這是一個產生文件的套件。起初,我的反應是:「什麼?!」運行特定類別的播種機是另一個挑戰。與普通播種器相比,我不明白它們的用途,直到我意識到 php artisan db:seed --class=...Seeder 直接運行特定的播種器類,對於單獨播種特定表或資料集非常有用。
模型與資料處理
我突出顯示了在模型和指定資料類型中新增屬性時所需的參數。熟悉資料序列化和格式回應轉換至關重要。我還學會了使用包含和預設包含來格式化特定數據,並使用解析包含來將數據添加到回應中。
急切載重
預先載入是我學到的美麗的事情之一。預加載不是在循環內執行新的 SQL 查詢的延遲加載,而是執行單一查詢來加載所有必要的資料。 with 助手對於高效的資料庫查詢至關重要,這讓我研究了 Laravel 中可用的漂亮助手,它帶來了多大的變化!
查詢範圍與建構器
我使用控制器可用的查詢範圍在轉換資料之前取得資料。查詢建構器也成為我簡化資料檢索的首選。
控制器
控制器處理各種請求類型(GET、POST、UPDATE)的基本邏輯。我學會了為 Scribe 文件編寫端點和清晰的註釋。使用操作將可重複使用程式碼提取到不同的控制器中,確保了乾淨的程式碼結構。在使用資料庫時實作 try-catch 方法是另一個寶貴的教訓。
觀看次數
雖然沒有廣泛使用,但視圖主要用於格式化郵件回應。
API 開發
我學會了按照 RESTful 原則設計和實作 API,並使用 Laravel 內建的日誌工具和 Postman 對其進行了測試。
這些知識進一步促使我建立和使用 Laravel 社交名流,整合 google auth 進行登入以及使用 Laravel sainttum,這些都在我的 GitHub 個人資料上。
挑戰
要理解程式碼庫最初很困難,特別是因為 Postman 中沒有可用的收集路線。我必須建立它們並理解其結構,有時需要額外的參數並減慢了我的開發過程。
我淺薄的 PHP 基礎也影響了我的進步,導致我在任務上花了額外的時間。
解
為了克服這些挑戰,我專注於學習基礎知識,並透過在分配的任務之外在單獨的分支上工作進行練習。我深入了解 PHP,獲取了諸如“Programming with GIO”、“PHP the Right Way”和 Laracasts 等資源 - 強烈推薦它們!
文法不記也沒關係。哈哈,像這樣的情況,我都是參考文件。閱讀文件可以拓寬您對特定主題的理解。
總的來說,我與團隊的合作經驗非常出色。除了提供付費職位外,他們還提供理解和建立應用程式的幫助。與我合作的團隊解釋了要實現的任務,並在解決我面臨的挑戰時給予快速回應。
以上是我作為 Laravel 實習生的旅程的詳細內容。更多資訊請關注PHP中文網其他相關文章!