私は長い間 PHP に触れていませんが、PHP フレームワークを理解して MVC の概念に慣れておきたいのですが、これまでこの種のフレームワークに触れたことはありませんでした。推奨できる優れたフレームワークはありますか、検討の出発点は何ですか。特に初心者の方へ~
返信内容:
私は英語で Framework を読むことに慣れており、StackOverflow や Quora に関する多くのディスカッションも読みました。実際、フレームワークはほとんどが習慣の問題です。もう 1 つのポイントは、定期的にメンテナンスされるフレームワークを選択することです。不人気なフレームワークを学習して、それを保守しなくなってしまったら、それは無駄です。
私が使用したフレームワークのいくつかを要約します。
- CodeIgniter: バージョン 1.7 を使用しましたが、PHP 4 と互換性があったためコード効率は平均的でした。 PHP 4 は 2.0 以降廃止され、コードはよりクリーンになりました。公式ドキュメントは非常に詳しく、コミュニティも非常に大きく、多くの人が利用しています。欠点は、適切な ORM ライブラリがないことです。デフォルトのモデルは ActiveRecord に基づいていますが、実際には SQL の拡張です。
- Zend: いわゆる公式 PHP フレームワークは非常に緩やかな構造を持っており、必要に応じて使用できます。最初は学ぶのは簡単ではありませんが、本当に理解すれば非常に効率的です。 Zend がサポートしているため、非メンテナンスの心配はありません。欠点は、文書は見栄えはしますが、理解するのが簡単ではないことです。
- symfony: 古いフランスのフレームワークであるはずです。非常に大規模で、エンタープライズレベルのプロジェクトに適しています。 YAMLを使用する構成が多く、環境要件が非常に面倒なのでざっと見ただけで断念しました。
- Yii: 以前友人と開発したときに使用したことがありますが、コーディングスタイルが気に入らず、ドキュメントも優れています。
- 小花:かつてはCIベースでしたが、その後コードは書き直されましたが、CIの理念は受け継がれています。 HMVC アーキテクチャは習得するのが簡単ではありませんが、コードは非常にクリーンで効率的です。組み込みの ORM も優れていますが、ドキュメントが包括的ではないという欠点があります。
-
編集 1: CakePHP のことをほとんど忘れていました: これは私が初めて触れたフレームワークであり、Bake スクリプトで多くのものを自動的に生成できる最も Ruby on Rails に似たフレームワークでもあります。 、しかしその代わりに私は自動生成があまり好きではありません。おそらくオーバーヘッドが多すぎるため、操作は比較的遅いです。 PHP 4 をサポートしますが、その後、数人のコアメンバーが Lithium (http://lithify.me/) と呼ばれる新しい PHP 5.3 フレームワークを作成しました。 )、MongoDB をネイティブにサポートしています。ドキュメントを見ただけですが、まだ使用していません。
上記は一般的なフレームワークであり、すべて
包括的なフレームワークです。以下に、不人気で軽量なものをいくつか示します。
- Slim Framework: 私の個人的なお気に入りの軽量フレームワークで、RESTful ルートに基づいて編成されており、圧縮パッケージはわずか 80 KB です。 Sinatra と Web.py の理念を継承し、1.5 でシングルトンからインスタンスに変更したと以前作者と話し合ったことがありますが、私はバージョン 1.3 がとても気に入っています。これはフルスタック MVC フレームワークではなく、OO は必須ではありません。
- LightVC: これは軽量です (圧縮パッケージ 24K)。モデルではなく、VC のみを提供します。また、CoughPHP と呼ばれる ORM も使用しており、連携して動作します。
- Flourish Lib: これはフレームワークではなく、ライブラリのコレクションである必要があります。ライブラリの多くは非常に便利です。
最後に、ORM は一般的に人気があり、私のお気に入りは RedBean です。現在開発中は、RouteにSlimを使用し、Flourishからコードをコピーし、ORMにRedBeanを使用していますが、遠回りなようですが、慣れて慣れていきます。
初心者がフレームワークを使い始めることは強くお勧めしません。
また、yiiとCIの関係は何ですか? ?
理由はいくつかあります:
- 成熟した開発コミュニティがあり、このフレームワークを一緒に学習しているグループがあるので、いつでも質問できます。わかりませんが、中国には中国人コミュニティがあります (http://codeigniter.org.cn/)。
- zendframk に比べて構文が比較的簡単で、古いものですが参考になる書籍がいくつかあります。
- 詳細なヘルプ ドキュメントは ci の公式ブログにあり、関連する構文と関数をすぐに理解するのに役立ちます。非常に詳細であり、ci フレームワーク自体にも多くのコメントがあります。
まとめ: ci は初心者にとって非常に優れたフレームワークであり、始めやすいと言えます。
注: 参考書籍リスト
CodeIgniter for Rapid PHP Application Development
http://book.douban.com/subject/ 3065901/
PHP を初めて使用する場合は、最初はフレームワークに触れないことをお勧めします。枠組みの中には洗練されたものが多く、知っているようでなぜそうなのかが分からず、基礎力の育成につながりません。
MVC は、フレームワークとはほとんど関係のないプログラミングの概念です。MVC には詳しくても、フレームワークには詳しくない場合もあれば、フレームワークには詳しくても、MVC には詳しくない場合もあります。
私の個人的な提案では、PHP には
http://ASP.NET のような MVC アーキテクチャはありません。まずは基礎から始めて、徹底的に勉強してからフレームワークを使用することです。 CI や Zend などの PHP フレームワークを使用すると、それらが何であるか、またその理由が本質的に同じであることがわかります。
中国では、英語があまり得意でない場合は、thinkphp または CI ドキュメントの方が完全なのでお勧めします。
英語を上達させるための推奨事項 yii
最初に PHP の基礎を学習してから、CI、SpeedPHP、および ThinkPHP を検討することをお勧めします。後者の 2 つは比較的完全な中国語ドキュメントを備えています。
PHP を初めて使用する場合は、まず PHP をマスターし、その後フレームワークを学習して検討することをお勧めします。
PHP フレームワーク、それは好みによって異なります。
私のチームは CI
を使用しています
ThinkPHP と CI は非常に優れており、関連する中国語学習ドキュメントが多数あります。