PHP 初心者が開発フレームワークの使い方を学ぶにはどうすればよいですか?
PHP の初心者として、開発フレームワークをどのように学べばよいでしょうか? どこから始めればよいでしょうか?
返信内容:
thinkphp は簡単に始めることができ、機能も比較的充実しています。これを読んだ後、CodeIgniter、zend Framework、yii について学び、とても役に立ちました。 主なリファレンス PHP フレームワークには、CodeIgniter、CakePHP、ZendFramework、Symfony が含まれます。私は多くのフレームワークを真剣に使用したことはありません。私の意見の多くは未熟であったり、間違っていたりする可能性がありますので、一緒に成長していきましょう。CodeIgniter
利点:
1. 構成が簡単で、すべての構成が PHP スクリプトを使用して構成され、実行効率が高い。基本的なルーティング機能があり、ある程度のルーティングを実行できる。一定レベルのインターフェイスの外観を作成できます。データベース層は適切にカプセル化されており、基本的な MVC 機能を備えています
2. 高速かつ簡潔、コード量が少なく、実行パフォーマンスが高く、シンプルな PHP フレームワーク、使いやすく、学習コストが低い、詳細なドキュメントが付属しています シンプルで使いやすいライブラリが多数あり、フレームワークは小規模なアプリケーションに適しています
欠点:
1. モデル層を単にデータベース操作として理解します
2. PHP フレームワークはやや単純で、小規模なアプリケーションにしか対応できず、中規模のアプリケーションのニーズにも対応できます。
評価:
一般的に、シンプルで高速なアプリケーションを完成させるには CodeIgniter を使用する価値があります。同時に、テンプレートの再利用を容易にするためにある程度のレイアウトを構築できます。データ操作層はカプセル化されており、CodeIgniter はあまり複雑なデザインパターンを使用せず、実行パフォーマンスとコードの読みやすさの両方を備えています。良い。追加のライブラリに関しては、シンプルで効率的で悪くありません。
CakePHP
利点:
1. CakePHP は、データベース操作の設計方法とアクティブ レコード方法を含む、非常に洗練された設計レベルで、RoR に最も似た PHP フレームワークです。不要なライブラリ、すべての関数は純粋なフレームワークであり、実行効率は非常に優れています。データベース層の hasOne 関数と hasMany 関数は非常に強力で、複雑なビジネス処理に適しています。自動スキャフォールディング機能も悪くありません。 scaffold) は非常に強力で、中規模のアプリケーションに適しています。基本的に MVC の各層に実装されており、コマンド ライン スクリプトを自動的に実行する機能があります。
2. ドキュメントは比較的完成しており、中国での普及に成功しています。 CakePHP はほとんどの人が知っており、学習コストは中程度です
欠点:
1. CakePHP の非常に深刻な問題は、モデルをデータベース層の操作として理解していることです。これは、データベース以外の操作能力に重大な影響を及ぼします
2. CakePHP のキャッシュ機能と設定機能は少し弱いです。CakePHP は大規模なアプリケーションには適しておらず、小規模なアプリケーションには学習コストが若干高くなります。
評価:
一般に、CakePHP フレームワークは非常に重要な時代を代表し、PHP フレームワークを代表しており、現在その役割を果たしています。多くの自作フレームワークが CakePHP の画期的な製品である CakePHP メソッドを模倣しています。 RoR のアジャイル開発手法とデータベース操作を唯一のモデルとして考慮する設計思想は、迅速なアプリケーションとプロトタイプを開発するためのツールとして、同様に Web 2.0 Web サイトの開発フレームワークも選択する価値があります。
Zend Framework
利点:
1. 公式製品、多数のライブラリが付属、フレームワーク自体は多くのデザイン パターンを使用して記述され、アーキテクチャは非常にエレガントで、実行効率は平均的です。MVC 設計では、比較的シンプルで、ルーティング機能、比較的強力な設定ファイル (XML および php INI を処理できる)、さまざまなライブラリが非常に強力で、すべての PHP フレームワークの中で最も包括的です。 PHP フレームワークであるだけでなく、(PEAR に代わる) 大規模なクラス ライブラリであることがその主な特徴です。データベース操作に加えてモデル層を直感的にサポートでき (CodeIgniter や CakePHP よりも優れています)、Loader 関数を簡単に使用できます。追加されたクラスのキャッシュ機能は非常に強力で、フロントエンド キャッシュとバックエンド キャッシュの両方をサポートし、データベース操作機能が非常に強力です。さまざまなドライバー (アダプター) をサポートしています
2. ドキュメントは非常に充実しており、国内コミュニティは非常に成熟しており、現在多くの Web 2.0 Web サイトで使用されています。 学習コストは中程度です
欠点:
1。 . MVC 機能が比較的弱く、View 層の実装が簡単(実装されていないのと同じ))、フロントエンドページを強力に制御できない
2. 自動スクリプトなしでアプリケーションを作成し、エントリ ファイルを含めて手動で構築する必要があり、エントリ コストが高い
3. Zend Framework は中規模のアプリケーション フレームワークとしては大きな問題ではなく、大規模アプリケーションの PHP フレームワークとしてはかろうじて使用できます。しかし、非常に成熟した大規模な PHP フレームワークとしては、まだ努力が必要です
評価:
公式フレームワークとして、Zend Framework の野心は他のフレームワークを排除し、同時にカプセル化したいと考えています。さらに、同社の開発チームは非常に強力で、非常に強力な製品を開発する能力を十分に備えているため、Zend Framework の改善にさらに時間を費やすことができれば、基本的に明るい未来があることは間違いありません。フレームワーク。同様に、Zend Framework アーキテクチャ自体は比較的洗練されており、これは Zend が公式に多くの専門家を擁し、設計コンセプトが比較的進んでいることを示しています。ただし、ビュー レイヤーや自動化スクリプトなどの一部の機能は完全には実装されていませんが、これらはすべて依存しています。今後のアップグレードについて。一般的に、Zend Framework は最も期待されている PHP フレームワークです。もちろん、今すぐプロジェクトで使用することに問題はありません。
Symfony
利点
1. Symfony は私が知っている中で最も強力な PHP フレームワークであり、私は長い間使用してきましたが、多くの機能がまだ研究されていません。完全な MVC の 3 層を実装し、$_POST、$_GET データ、例外処理、デバッグ関数、データ検出を含むすべてをカプセル化します。強力なキャッシュ関数、クラスの自動ロード (この関数は非常に優れています)、強力な i18n が含まれています。 ; 国有化のサポート; 非常に強力なビュー層操作があり、複数のファイルを分割して含めることができ、yml 設定を使用してすべてのフレームワークとプログラムの動作を制御します。 speechless; あらゆる種類のクラスを自由に定義でき、symfony はこれらのクラスを自動的にロード (自動ロード) でき、強力なマルチレベルのプロジェクトとアプリケーション管理が含まれます。アプリケーション --> モジュール --> アクション。複数のアプリケーションのニーズを満たします。各層は、プロジェクトの作成、アプリケーションの構築など、独自のクラス ライブラリ、構成ファイル、レイアウトを定義できます。 、モジュールの構築、キャッシュの更新など;
2. Symfony を使用すると開発コストが大幅に節約され、複数の人が共同作業する場合に問題が発生しないため、大規模で複雑なプロジェクトを開発する場合は間違いなく Symfony が第一の選択肢となります。基本的なクラスはプロジェクト レベルで定義され、任意のモジュールを再利用できるため、開発プロセスが大幅に簡素化されます。 コードを使用します。
欠点:
1. データベース操作モデルは強力な prop と creole を使用しますが、私がテストしたバージョンでは、それらはアドオンに移動されました。使用するかどうかは自由です
2. キャッシュ機能は使用できません 開発とデバッグが常にキャッシュされるたびに、symfony cc、symfony rc を実行してキャッシュをクリアして再構築する必要があります。 ;
3. 効率はあまり高くありません。特にテンプレートの解析と設定ファイルの読み取りには時間がかかります。
4. 学習コストが非常に高く、成熟したコミュニティがありません。したがって、すべての機能を習得するには多くの時間がかかります
評価:
Symfony は間違いなくエンタープライズです 第一レベルの PHP フレームワークが一見競合できる唯一のものですJava 分野の強力なフレームワークを使用すると、当然ながら学習が複雑になりますが、複雑なプロジェクトを処理するには当然、Symfony を使用することをお勧めします。は比較的低く、再利用性が非常に高いです。同様に、より複雑なインターネット プロジェクトに Symfony を使用する場合は、データベースの分散の問題を考慮する必要があります。その後、Symfony に付属するデータベース操作レイヤーを放棄し、それを自分で定義する必要があります。もちろん、Symfony は任意のモデル レイヤーの構築をサポートします。
まとめ
上記の PHP フレームワークはそれぞれに特徴があり、いずれもオープンソースのプロジェクトですが、一般的には CodeIngiter の方が適しています。小規模プロジェクトの場合は、CakePHP と Zend Framework が中規模のプロジェクトに適しており、Symfony は大規模で重量のあるプロジェクトに適しています。ニーズの変化に応じて変更を加えるかどうかは判断できません。
比較的、Zend Framework と Symfony は変更への対応力が高く、特にモデル層のクラスを自由にカスタマイズできる機能があり、独自のビジネスクラスやデータ処理クラスを追加するのに非常に便利です。中規模および大規模なプロジェクトで使用するためのものです。
CodeIngiter と CakePHP は、中小規模のプロジェクト、迅速な開発、プロトタイプの構築にも重要な役割を果たし、目標が明確でないプロトタイプ プロジェクトの開発に非常に適しています。
最初からフレームワークを使い始めないでください。そうしないと、簡単にフレームワークに囚われてしまいます。最も基本的な PHP から作成を開始し、その後、独自のクラスのいくつかをゆっくりとカプセル化します。このプロセスでは、徐々に独自の開発クラスのセットを整理できるようになります。これらのクラスは、フレームワーク、つまりあなた専用のフレームワークであると言えます。
ここでは、Yii、CakePHP などの人気のあるフレームワークをいくつか見てみましょう。フレームワークの考え方を理解し、フレームワークが提供するAPIだけにとらわれるのではなく、柔軟にフレームワークを使いこなすことを学びましょう。
私が ThinkPHP を使用していたとき、あまりにも多くの人が PHP をよく学習せず、PEAR が何であるかさえ知らずに ThinkPHP を使用し始めたことを思い出します。 TPが提供する機能を使えばいろいろなことができるのですが、ドキュメントに載っていないドキュメントが出てきたり、柔軟に使いたいときはどうすればよいのかわかりません。これはフレームワークを使用することの悲劇と言えます。
裸の PHP を書く --> クラスを使用する --> MVC を理解する (またはデザインパターンを理解する) --> フレームワーク --> 柔軟に使用する --> フレームワークを自由に設定して変更できます。
これは私が考える順番です、参考までに。CodeIgniter を推奨する
理由:
1. サンプルが詳細で、直接使用できます
2. 中国語のドキュメントが充実しています
3. フレームワーク自体はシンプルで明確なデザインで強力です。機能 phpmanul 招待してくれた @justjavac に感謝します
条件: 初心者、フレームワーク
したがって、まず中規模のフレームワーク (CakePHP、Yii)、大規模なフレームワーク (ZF、Symfony) を除外し、回答も除外します。ネイティブ コードで直接書かれた答えであれば、あとは小さな PHP フレームワークから選択するだけです。初心者の観点からすると、使いやすさと理解しやすさが最も重要です。初心者に適したフレームワークは次の条件を満たす必要があります:
-優れたわかりやすいドキュメント
-緩やかな学習曲線
- 学習コストが低い
- フレームワークは比較的標準的で、あまり人気がありません
- ユーザーが多く、質問に対する回答、コミュニティやその他の参考リソース、豊富なチュートリアルがすぐに得られます
- 禁止複雑なデザイン パターンを追加します
- MVC、テンプレート、モデル、クラス ライブラリ、ヘルパーなどの単純なフレームワーク要素が必要です
要約すると、CodeIgniter
私には才能がありません。初心者に適した小さなフレームワークを作成しました: phoenixg/phx · GitHub 初心者の方は、まず PHP のマニュアルや MYSQL のマニュアルを読んで基礎知識をしっかりと理解してください。これが最も重要なことです。 PHP フレームワークを学びたい場合は、doitphp を強くお勧めします。その理由は、簡単に始めることができるからです。 私は、fleephp から始めました。個人的には、フレームワークのコメントが非常に明確だと思います。
その後、オブジェクトチェーンクエリの方法に出会いました。確かにこれは非常にパフォーマンスを消費しますが、現在はチーム自体が作成したフレームワークを使用しています。 私はしばらく Drupal を使って開発しましたが、初心者にはかなり難しいという印象です。初心者には使用しないことをお勧めします。次々とプロジェクトを引き継いで、WordPress、zendphp、thinkphp を次々と使ってみると、複雑すぎて情報が網羅されていないと感じました。最近、より大きなプロジェクトを行うために CI を使用しました。一般的に、CI の中国語ドキュメントの方が詳細で軽量なので、多くのことを自分で書かなければなりません。 CIを学ぶとMVCの本質を深く理解できるだけでなく、言語開発レベルも向上します。学習方法は、
http://codeigniter.org.cn/user_guide/index.html に従うことです。 それをすることで目的は達成できる。 Zend Framework から始めて、操作メカニズムをマスターしてください。複雑さを恐れないでください。複雑さを理解して初めて、それを好きなように単純化できます。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

SublimeText3 中国語版
中国語版、とても使いやすい

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

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。
