Yii
とは何ですか
Yii は、さまざまな種類の Web アプリケーションの開発に使用される PHP フレームワークです。 Yii は、これを高性能のコンポーネントベースのフレームワークとして公式に定義しています。
個人的な経験から言えば、Yii には次のような特徴があります:
Yii はもっと「トレンディー」です。
Yii 開発チームは常に業界の Web 開発の最新テクノロジーに注目しており、現在最も人気のあるテクノロジーを吸収することに細心の注意を払っています。近年の Web 開発における最もトレンドな技術は多かれ少なかれ Yii に見られると言えます。たとえば、Yii は最初に開始されたとき、明らかな Ruby on Rails スタイルを持っていました; たとえば、Yii2 に実装されたばかりの名前空間やその他の PHP 最新機能がサポートされていました。トレンドやトレンドを追い続けたフレームワークだけが魅力的で活力があり、興味深く学ぶ意味のあるものになります。
Yii は比較的「簡単」です。
その名のとおり、Yii は学習と使用が比較的簡単なフレームワークです。コードの品質は非常に高く、学ぶべきことがたくさんあります。明確なコメントと豊富なドキュメントにより、コードが読みやすくなります。コミュニティが活発で、公式フォーラムには中国語セクションがあり、国内フォーラムも非常に人気があり、知識を得るのは簡単です。アーキテクチャは比較的安定しており、Yii1.1 から Yii2 への変更点から判断すると、オリジナルの規約や蓄積された経験の多くは依然として適用可能です。
Yii はより「完全」です。
Web 開発に関する限り、アプリケーションの種類や開発のどの段階で共通の問題が発生しても、Yii には成熟した効率的で信頼性の高いソリューションが用意されています。一般的な Web 開発の場合は、これで十分です。たとえば、Yii は、疑似静的、国際化、RESTful などのプログラミング フレームワークを提供します。ただし、規模という点では、Yii はまだ大きなフレームワークではありません。私の個人的な評価は、中規模で軽量なフレームワークであり、ほとんどのアプリケーション開発には間違いなく十分です。
Yii は比較的「速い」です。
Yii は、重要な機能として業務効率化を公式に推進しています。実際の使用状況から判断すると、数ある PHP フレームワークの中でも効率の点で一定の利点があります。しかし、個人的には、これは最も重要な機能ではないと思います。フレームワークのユーザー、つまり開発者にとっては、開発効率の方が重要です。 Yii の合理的なアーキテクチャにより、Web 開発で一般的に使用されるアイデアやパターンを簡単に適用できます。 Web 開発でよく遭遇するいくつかの詳細な問題に対して、Yii はすぐに使用できる、非常に効率的で便利な既成のソリューションを多数提供しています。開発者や開発チームにとって、高い開発効率はさらに重要です。
卓越性を目指して努力し、大多数の Web 開発者のためにこのような優れたフレームワークを作成するというたゆまぬ努力をしてくれた Yii 開発チームに感謝したいと思います。私は Yii1.1 から Yii に触れて使用しており、仕事や趣味の関係でいくつかのフレームワークにも触れてきました。一般的に言えば、これまでのところ Yii にはとても満足しています。Yii で最も気に入っている点は 2 つあります。1 つは、Yii を学習した後、現時点で最も人気があり成熟した機能の多くを学習したことです。迅速に開発し、迅速に改善できることです。
Yii2.0
のハイライト
Yi には、Yii1.1 と Yii2.0 の 2 つの主要なバージョンがあります。 Yii1.1 は古いバージョンであり、本書執筆時点の最新バージョン番号は 1.1.15 です。 Yii1.1 は新たな開発は行われておらず、公式はメンテナンスとセキュリティ上の脆弱性の更新のみを行っており、新しい機能は導入されません。 Yii2.0 は、Yii1.1 をベースに完全に覆され、書き直されたフレームワークで、多くの最新技術と主流の開発慣習を吸収しており、最新世代の Web 開発フレームワークを代表するものです。付録 1: Yii2.0 と Yii1.1 の間の主な改善点 このセクションでは、Yii2.0 と Yii1.1 の間の主な改善点を紹介します。以下では、Yii2.0 のより顕著な機能のいくつかを簡単に紹介します:
PHP 名前空間、Trait、PSR 標準、Composer、Bower パッケージ マネージャーなどの新しいテクノロジと標準を使用します。
新しいアーキテクチャと、依存関係注入、依存関係注入コンテナー、サービス ロケーター (Service Locator) などの新しいパターンを実装しました。
Yii2.0 はセキュリティを非常に重視しており、SQL インジェクション、XSS 攻撃、CSRF 攻撃、Cookie 改ざんなどを効果的に防止するための一連の対策を採用しています。
さまざまな SQL および NOSQL データベースを幅広くサポートし、Active Record などのデータベース クエリおよび操作インターフェイスを効率的に実装し、データベースの移行、レプリケーション、読み取り/書き込み分離などの機能を提供します。
完全に標準に準拠した RESTful API は、最小限のコードで実装できます。
さまざまな粒度とメディアのキャッシュ メカニズムをサポートします。
Cookie およびトークンベースの認証、RBAC およびその他の権限制御方法に基づくさまざまな認証および認可方法を提供し、OpenID、OAuth1、OAuth2 などをサポートします。
Bootstrap、jQuery UI をサポートし、使用できる豊富なウィジェットを提供します。
完全な国際サポート。ICU 標準に準拠した時刻、複数形などの書式設定ツール、およびメッセージ翻訳やビュー翻訳などの機能を提供します。
2 つの主流の PHP テンプレート エンジン、Twig と Smarty をサポートすることに加えて、開発者は他のエンジンをサポートする独自の拡張機能を作成することもできます。
勤勉なプログラマー向けに、Yii デバッグ ツールバー、Gii コード ジェネレーター、ドキュメント ジェネレーターなどの効率的な開発ツールを提供します。
Codeception および Faker と統合され、DB Migration と組み合わせて、テスト開発を容易にするフィクスチャ フレームワークを提供します。
シンプルなアプリケーション テンプレートと高度なアプリケーション テンプレートが提供されており、さまざまな開発シナリオに適しており、開発者が独自のアプリケーションをできるだけ早く構築するのに役立ちます。
Yii2.0 の機能の詳細については、公式の説明を参照してください。
背景知識
本書は Yii2 に焦点を当てていますが、読者に Yii1.1 の開発経験は必要ないことに注意してください。このような背景知識があると Yii2 をより早くマスターするのに役立ちますが、説明の過程で、Yii1.1 に関する関連知識のない読者が関連概念を補足するのにこの本が役立ちます。これらの概念を理解していれば、読者は Yii1.1 を一から学ぶ必要はなく、直接 Yii2 を使い始めることができます。
もちろん、Yii は PHP フレームワークですので、PHP を理解しておくのがベストですが、コードに習熟する必要はなく、コードを理解し、簡単なコードが書け、どの関数を使うべきか大まかに知っていれば十分です。基本的にはプログラミング時に使用するだけで十分ですが、使いながら学習することも学習方法です。
同時に、Yii はオブジェクト指向フレームワークでもあります。これは、Yii がコード構成と問題解決の観点からオブジェクト指向の考え方を体現していることを意味します。 Yii で開発するには、この考え方に従うのが最善です。したがって、読者はオブジェクト指向プログラミングについてある程度の理解を持っていることが推奨されます。実際、プログラマーのレベルを判断するのは、特定の言語や特定の開発フレームワークの習熟度だけではありません。さらに重要なのは、問題を解決するためのアイデアと方法に依存します。メソッドの主要なカテゴリの 1 つはオブジェクト指向メソッドです。この観点から見ると、Yii の学習と使用には高度なオブジェクト指向手法は必要ありません。しかし、経験者として、読者の皆様にはオブジェクト指向の開発手法を体系的かつ包括的に学んでいただきたいと今でも願っています。特に本書では、Web開発に携わる際によく使われるデザインパターンについても具体的に解説します。
この本の読み方
これは「クイックスタート」や「1 週間でマスター」の本ではありません。この本の非常に重要な目的と出発点は、Yii2.0 の原則を分析して、読者が Yii2.0 が何であるか、そしてなぜそうなるのかを理解できるようにすることです。それは一夜にして起こるかもしれません。この本には多くのコードが含まれており、データ構造の分析、コール スタックの追跡、コード フローの追跡が必要です。私たちは鮮やかで簡潔であるよう努めていますが、読者は依然として「古代の仏陀の緑灯籠」に備えて心の準備をし、衝動的になったりせっかちになったりせず、内なるスキルの練習に集中し、しっかりとした基礎を築き、独自のスキルを練習する必要があります。できるだけ早く。
内容的にはYii2.0の本質を直接指摘しており、完璧ではなく洗練を目指しているが、関連するPHPやHTTP、その他多くの知識についてはせいぜい触れただけで表面的なものであり、内容は不十分である。それを紹介するために。そのため、関連する知識や背景知識については、検索エンジンなどを駆使して自習・補完する必要があります。
章の構成に関しては、この本は一般に、内容が徐々に深化するパターンで配置されています。同時に、各パートの内容は比較的独立しており、各ページの内容は可能な限り独立した記事にすることができます。したがって、Yii2.0 を初めて使用する読者は、段階的に読むことをお勧めします。一定の基礎を持った読者は、自分の興味や趣味に基づいて学習の入り口を自由に選ぶことができ、気になる知識のポイントに出会ったときに、該当するページを検索することで該当するページを見つけることができます。
Yii の基礎セクションでは、Yii のフレームワーク全体を理解するための最も基本的な概念であるプロパティ、イベント、ビヘイビアなどの Yii の最も基本的な知識を順番に紹介します。
Yii 規約セクションでは、Yii 規約のいくつかのルーチンと設定を主に説明し、開発者が何も指定しない場合の Yii のデフォルト動作の問題を解決し、Yii の実際の使用方法についての理解を深めます。この部分には主に、Yii アプリケーションのディレクトリ構造とエントリスクリプト、エイリアス (Alias)、Yii の自動クラスロード機構、環境および設定ファイル、設定項目 (Configuration) などが含まれます。
「Yii パターン」セクションでは、現在の Web 開発において最も主流で成熟したデザインパターンの一部を Yii がどのように実装しているかを分析します。これらのデザインパターンを学ぶことは、Yii の仕組みを深く理解するのに役立ち、さらに稀なこととして、読者の開発およびデザインレベルの向上につながります。このパートでは主に、MVC、依存関係注入と依存関係注入コンテナー、サービス ロケーター (Service Locator) の 3 つの設計パターンについて説明します。
声明:
当サイトのすべてのリソースはネットユーザーが投稿したり、各ダウンロードステーションを転載したりしているので、ソフトウェアの完全性を自分でチェックしてください!当サイトのすべてのリソースは学習と参考のためだけに使用されます。ビジネス用途には使用しないでください。そうしないと、発生したすべての結果はあなた自身が負担します!権利侵害がある場合は、次の連絡先に連絡してください。admin@php.cn