Laravelコア解読--完結編


過去1年間に20以上の文章を書いて、私が考えているLaraveフレームワークの最も核心的な部分の設計構想、コード実現を検討しました.文章を更新することによって自分はソフトウェアの设计、文字の表现の方面ですべてある程度向上して、ちょうどLaravelのソースコードの分析の文章を书くことを决める时私の期待は自分と読者がLaravelの核心のコードを学ぶことを通じてソフトウェアの设计の上で向上をもたらすことができて、これらの向上は主に2つの方面を指します:
  • Laravelコアのコードを学ぶことで、ソフトウェア設計業界でよく言及されているコア概念の理解を支援し、IocContainerのように、オブジェクト向けの5つの原則SOLIDがフレームワーク設計にどのように応用されているかを学ぶことで、ソフトウェア開発計画をどのように行うべきかを指導します.この面での収益はLaravelフレームワークとPHP言語レベルから飛び出すべきで、他のフレームワークと言語に切り替える必要がある場合、これらの収益はフィードバックされます.
  • Laravelの使用を熟練して掌握して、多くの人はフレームワークが1つのツールだけでツールの研究にあまり時間をかけるべきではないと言っていますが、現実的には開発者グループの大部分の人は頭のいくつかの大手会社にいないし、アーキテクチャもありません.私たちの多くの仕事はビジネスコードを書いています.では、Laravelというツールが毎日の任務を完成する必要がある以上、では、できるだけ効率的で高品質なプロジェクトを完成させるためには、確かにフレームワークのソースコードを見て、positiveやnegativeでよく使われるフレームワークの動作が何なのか(様々な場合の戻り値や投げ出しの異常)、ORMをどのように使ってクエリーをより効率的にするかなどを知る必要があります.これらの内容は往々にしてフレームワークのドキュメントではあまり言及されていないので、ソースコードを見て理解する必要があります.もしあなたがドキュメントに言及した典型的な使い方しかできないなら、明らかに熟練しているとは言えません.

  • Laravel全体のフレームワークが設計された内容はたくさんあります.他のコンポーネントも一つ一つ文章を書くのではありません.このシリーズの文章を真剣に読んだ後、他のコンポーネントを使用する過程で奇妙な問題に遭遇したり、フレームワークがどのように機能を実現したりしたのか知りたいと思っています.他のコンポーネントのソースコードの実装を整理して、あなたの疑問を解決する能力があります.
    皆さんが読みやすいように、私はこれらのソース学習の文章をここにまとめました.
  • 類の反射と依存注入
  • IocContainer
  • サービスプロバイダ
  • Facades
  • Route
  • Middleware
  • コントローラ
  • Request
  • Response
  • Databaseベース
  • QueryBuilder
  • モデルCRUD
  • モデル関連
  • イベントシステム
  • Auth認証システム(基礎紹介)
  • Auth認証システム(実装の詳細)
  • Auth認証システム
  • をカスタマイズ
  • Session
  • Cookie
  • Contracts契約
  • 負荷ENV構成
  • HTTPカーネル
  • Consoleカーネル
  • 異常処理
  • 最後に、上述したように、フレームワークはツールにすぎません.ソフトウェア業界で発展するには、より多くの精力を内功修練に投入しなければなりません.内功とは、これらの時間を経て沈殿した基礎知識であり、フレームワークが次々と現れていますが、それらの応用の基礎知識はあまり変わっていません.データベース、HTTP、アルゴリズム、データ構造などはプログラミングの内功であり、内功が深くなってこそ直面する複雑な問題を解決することができる.
    私がいいと思う修練内功のコラムをいくつかお勧めします.
    プログラマのデータベースレッスン
    MySQL実戦45講
    データ構造とアルゴリズム
    アルゴリズム面接通関40講
    許式偉のアーキテクチャ授業
    もちろん日進月歩の先端知識も基礎的な使い方が必要で、少なくともチーム内部で使用されている先端フレームワークの基礎知識を理解することは、私たちがシステム設計をするのにも役立ちます.最近、別のプラットフォームで共有されている無料の教程を見て、LaravelとVueを使ってAPI駆動のアプリケーションを構築することができます.Vueが素早く入門できるようにチュートリアルと一緒に練習してほしい.