私は長い間 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 フレームワーク自体にも多くのコメントがあります。
注: 参考書籍リスト
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 は非常に優れており、関連する中国語学習ドキュメントが多数あります。

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。

HTTPキャッシュヘッダーの主要なプレーヤーには、キャッシュコントロール、ETAG、およびラスト修飾が含まれます。 1.Cache-Controlは、キャッシュポリシーを制御するために使用されます。例:キャッシュコントロール:Max-Age = 3600、public。 2。ETAGは、一意の識別子を介してリソースの変更を検証します。例:ETAG: "686897696A7C876B7E"。 3. Last-Modifiedは、リソースの最後の変更時間を示しています。

PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHPは、動的なWeb開発およびサーバー側のアプリケーションに使用されるサーバー側のスクリプト言語です。 1.PHPは、編集を必要とせず、迅速な発展に適した解釈言語です。 2。PHPコードはHTMLに組み込まれているため、Webページの開発が簡単になりました。 3。PHPプロセスサーバー側のロジック、HTML出力を生成し、ユーザーの相互作用とデータ処理をサポートします。 4。PHPは、データベースと対話し、プロセスフォームの送信、サーバー側のタスクを実行できます。

PHPは過去数十年にわたってネットワークを形成しており、Web開発において重要な役割を果たし続けます。 1)PHPは1994年に発信され、MySQLとのシームレスな統合により、開発者にとって最初の選択肢となっています。 2)コア関数には、動的なコンテンツの生成とデータベースとの統合が含まれ、ウェブサイトをリアルタイムで更新し、パーソナライズされた方法で表示できるようにします。 3)PHPの幅広いアプリケーションとエコシステムは、長期的な影響を促進していますが、バージョンの更新とセキュリティの課題にも直面しています。 4)PHP7のリリースなど、近年のパフォーマンスの改善により、現代の言語と競合できるようになりました。 5)将来的には、PHPはコンテナ化やマイクロサービスなどの新しい課題に対処する必要がありますが、その柔軟性とアクティブなコミュニティにより適応性があります。

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
