こんにちは、タミー・アレムです。 Laravel インターンとしての私のエキサイティングな旅をご紹介します。私は業界での経験を積み、読みやすいコードを書き、フレームワークを深く理解することを目指しました。ここでは、私が直面した課題とその過程で見つけた解決策を含めて、すべてがどのように起こったかを説明します。
インターンシップ中に、私には 3 つの主な目標がありました:
業界経験: 専門的な環境で実践的な経験を積みます。
読みやすいコード: クリーンで保守しやすく読みやすいコードを記述します。
フレームワークの理解: Laravel フレームワークを深く理解します。
私の旅は、開発環境をセットアップすることから始まりました。このインターンシップの前に、私は Blade ビューまたは Vite にバンドルされている JavaScript を通じて、フロントエンド アーキテクチャを使用してバックエンドと対話しました。そのため、CORS などをセットアップする必要性はあまりわかりませんでした。その後、Postman を紹介されました — すごい、なんて革新的なことでしょう!
郵便配達員
Postman は、HTTP リクエストの設定と編集、パラメータと値の受け渡し、認証とベアラー トークンの管理を支援してくれました。これにより、バックエンドの構造とその仕組みについての理解が広がりました。データを生の形式で確認し、直接操作することは、目を見張るものがありました。一見複雑に見えるバックエンドの操作は、当初考えていたよりも単純であることがわかりました。
作曲
Composer も重要なツールでした。私はこれをパッケージのインストールに使用し、PHP PSR-4 フォーマット標準に厳密に従いました。厳密に言えば、それは本気です!ははは。標準に従わなかったときにエラーが発生しました。たとえば、ドキュメントを生成したり、モデルやテーブルの余分なスペースや間違った命名規則が原因で名前空間にエラーがあることに気づいたりしました。
プロジェクトのセットアップには、いくつかの重要な手順が含まれていました:
リポジトリ管理
リポジトリのクローン作成と環境のセットアップは、最初は非常に大変でした — はは、なんて楽しいことでしょう!ドキュメントを生成するパッケージ scribe:generate を紹介されました。最初は「えっ!?」って思いました。特定のクラスのシーダーを実行することもまた課題でした。 php 職人 db:seed --class=...Seeder は特定のシーダー クラスを直接実行し、特定のテーブルやデータ セットを個別にシードするのに役立ちます。
に気づくまで、通常のシーダーと比較してその目的を理解していませんでした。モデルとデータの処理
モデルと指定されたデータ型に新しい属性を追加するときに必要なパラメーターを強調表示しました。データのシリアル化と応答をフォーマットするための変換に慣れることが重要でした。また、特定のデータをフォーマットするためにインクルードとデフォルト インクルードを使用すること、および応答にデータを追加するために解析されたインクルードを使用することも学びました。
熱心に読み込み中
熱心にロードすることは、私が学んだ素晴らしいことの 1 つです。新しい SQL クエリがループ内で実行される遅延ロードの代わりに、一括ロードでは単一のクエリを実行して必要なデータをすべてロードします。 with ヘルパーはデータベースクエリを効率的に行うために不可欠なものとなりました。これにより、Laravel で利用できる美しいヘルパーを調べるようになりました。それが大きな違いを生みました!
クエリ スコープとビルダー
コントローラーで利用可能なクエリ スコープを使用して、データを変換する前にフェッチしました。クエリ ビルダーも、データ取得を効率化するために頼りになるものになりました。
コントローラー
コントローラーは、さまざまなリクエスト タイプ (GET、POST、UPDATE) の基本ロジックを処理します。私はエンドポイントを作成し、Scribe ドキュメントに明確にコメントすることを学びました。アクションを使用して再利用可能なコードを別のコントローラーに抽出することで、クリーンなコード構造が確保されました。データベースを操作するときに try-catch メソッドを実装することも、貴重な教訓でした。
ビュー数
広範囲に使用されるわけではありませんが、ビューは主にメール応答の書式設定に使用されます。
API 開発
RESTful 原則に従って API を設計して実装する方法を学び、Laravel の組み込みロギング ツールと Postman を使用してテストしました。
この知識により、GitHub プロフィールに公開されているサインイン用の Google 認証と Laravel sanctum の使用を統合する、Laravel ソーシャルライトの構築と操作がさらに可能になりました。
課題
特に Postman には利用可能な収集ルートがなかったため、最初はコードベースを理解するのが困難でした。それらを構築して構造を理解する必要がありましたが、場合によっては追加のパラメーターが必要になり、開発プロセスが遅くなりました。
PHP の基礎知識が浅かったことも私の進歩に影響を及ぼし、タスクに余分な時間を費やすことになりました。
ソリューション
これらの課題を克服するために、私は基礎を集中的に学び、与えられた課題とは別に取り組んで練習しました。私は、「GIO によるプログラミング」、「PHP の正しい方法」、Laracasts などのリソースを活用して、PHP を深く理解しました — 強くお勧めします!
構文を覚えていなくても大丈夫です。はは、このような場合、私はいつもドキュメントを参照しました。ドキュメントを読むと、特定のトピックについての理解が広がります。
全体的に、チームで働いた私の経験は素晴らしいものでした。彼らは有給のポジションであることに加えて、アプリの理解と構築についてのサポートも提供してくれました。私が一緒に働くチームは、達成すべきタスクについて説明し、私が直面する課題に対処する際には迅速に対応してくれます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3