ホームページ  >  記事  >  PHPフレームワーク  >  thinkphpとlaravelの比較の違いは何ですか?

thinkphpとlaravelの比較の違いは何ですか?

藏色散人
藏色散人オリジナル
2020-08-07 09:35:392597ブラウズ

thinkphp laravel の比較の違いは次のとおりです: 1. レンダリング テンプレートの方法が異なります; 2. TP フレームワークは、クロスサイト攻撃を防ぐためにコードを手動で完成させる必要があります; 3. Laravel は再ルーティング フレームワークです, そして thinkphp が制御する必要がある サーバーメソッドに正常にアクセスできる; 4. Laravel には強力なコミュニティ拡張機能があります。

thinkphpとlaravelの比較の違いは何ですか?

主な違い: (thinkPHP は中国のコーディング習慣により適しています)

1レンダリング テンプレート メソッドの違い:

Laravel フレームワークでは、return view() を使用してテンプレートをレンダリングします。

ThinkPHP では、$this->displayテンプレートをレンダリングするために () メソッドが使用されます;

2. Laravel フレームワークでは、クロスサイト リクエスト フォージェリを考慮しているため、post メソッドで値を渡すためにフォーム form を使用する場合、フォーム form {csrf_field()}} に { を追加しなくなった場合、TokenMethodnotfound という構文エラーが報告されます;

クロスサイト攻撃を防ぐために、TP フレームワークはコードを手動で完成させる必要があります;

3. Laravel はリルーターです フレームワーク (5.4) では、すべての関数がルーティングによって開始され、コントローラーのメソッドがなくても、ルートを書けばアクセスできますが、thinkPHP (3.2) では、通常アクセスするためのコントローラー メソッドがある;

4. Laravel には強力なコミュニティ拡張機能があります (コンポーザー拡張機能は自動的にロードされます);

5. Laravel には強力な Blade テンプレート エンジンがあります;

6. ミドルウェアであるLaravelの機能は、リクエストとリターン、権限認証などの処理の前後でアクセスを実現できます;

7. 条件判定文の書き方の違い:

Laravel フレームワークの If else 判定ステートメントと foreach ステートメントは @ で記述する必要があります。@endif で始まり @endif で終わる場合、そうでない場合は構文エラーが報告されます。@foreach @endforeach は同じです。

TP フレームワークは、PHP 文法ルール、ifesle ステートメントの直接判断、および foreach ループのトラバーサルの使用と一貫しています

Laravel には、開発者が使用できる多数の組み込みメソッドがあります。 「オブジェクトにすべてをやらせる」という開発思想に近いです。例えば、バックグラウンドでのフォーム検証の際、Laravel にはユーザー向けなどの検証メソッドが多数組み込まれています。名前の検証: ' を使用します。 validate メソッドの username'=>'required' (空にすることはできません) | alpha_dash (数字、文字、下線が必要) | between: 6, 18 (桁数の間); これも組み込みです たとえば、email ; Same: フィールド名; diff: フィールド名などの方法で開発速度が大幅に向上;

暗号化方式 TP フレームワークでは、ユーザー名とパスワードを暗号化するときに md5(); を使用します。 md5 の欠点は、逆にクラックされる可能性があり、同じルールの下では、同じパスワードに対して md5 によって暗号化された文字列が同じに見える可能性があり、セキュリティが低下する可能性があることです。

しかし、「ハッシュ」ハッシュではLaravel フレームワークには一方向の暗号化方式が組み込まれており、同じパラメータで暗号化された文字列が同じ状況で現れることがないため、セキュリティが向上します。

実際の開発では、開発場所が異なるという問題がよく発生します。が修正されていないため、頻繁にデータベース構成を変更することになり、開発作業に支障をきたすことになりますが、TP は依然としてこの「災難」を避けられず、laravel フレームワークにおける .env 環境ファイルの登場により、この問題は解決されます。 .env ファイルを別の作業場所に設定するだけでよく、git であっても svn であっても「.env はファイルと一緒にサーバーに送信されない」ため、再度設定する必要はありません。

以上がthinkphpとlaravelの比較の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。