thinkphp と laravel の違い
主な違い: (thinkPHP は中国人のコーディング習慣により適しています)
1. レンダリング テンプレート メソッドの違い:
Laravel フレームワークでは、return view() を使用してテンプレートをレンダリングします;
ThinkPHP では、$this-> display() はテンプレートをレンダリングするために使用されるメソッドです;
2. Laravel フレームワークでは、クロスサイト リクエスト フォージェリを考慮しているため、フォーム form を使用して post メソッドに値を渡す場合、{{csrf_field をフォーム form ()}} に追加しなくなった場合、TokenMethodnotfound という構文エラーが報告されます;
TP フレームワークは、クロスサイト攻撃を防ぐためにコードを手動で完成させる必要があります;
3. Laravel は再ルーティング フレームワーク (5.4) であり、すべての関数はルーティングによって開始され、コントローラー メソッドがなくても、ルートを記述すればそれにアクセスできます。ThinkPHP (3.2)、必要があります。通常アクセス用のコントローラー メソッド;
4. laravel には強力なコミュニティ拡張機能があります (コンポーザー拡張機能は自動的にロードされます);
5. laravel には強力な Blade テンプレート エンジンがあります;
6.ミドルウェアであるLaravelの機能は、リクエストやリターン、権限認証などのアクセス前後の処理を実現できます;
7. 条件判定文の書き方の違い:
Laravel フレームワークの If else 判定ステートメントと foreach ステートメントは、@if で始まる必要があります。@endif で終わる必要があります。そうでない場合は、構文エラーが報告されます。@foreach @endforeach は同じです。
TP フレームワークは一貫しています。 PHP の文法規則、ifesle 文の直接判定、foreach ループのトラバーサルを使用する
Laravel には開発者が使用できる多数の組み込みメソッドがあり、実際のアプリケーションでは、 の開発思想に近くなります。 「オブジェクトにすべてを行わせます。」たとえば、バックグラウンドでのフォーム検証中、Laravel にはユーザー名などの多数の組み込み検証メソッドがあります。検証: 'username'=>'required' を使用します (空である必要があります) validate メソッド内 | alpha_dash (数字、文字、下線が必要) | between: 6, 18 (桁数の間); また、組み込みの電子メール (例: ;same: field name;diff) : フィールド名やその他の多くのメソッドにより、開発速度が大幅に向上します;
暗号化メソッド TP フレームワークでは、ユーザー名とパスワードを暗号化するときに md5(); を使用します。逆にクラックされる可能性があり、同じルールの下では、同じパスワードに対して md5 によって暗号化された文字列は同じように見える可能性があるため、セキュリティが低下します;
しかし、Laravel フレームワークでは、「ハッシュ」ハッシュ暗号化一方向暗号化が行われます。メソッドが組み込まれており、同じパラメータで暗号化された文字列が同じ状況で出現することがなくなり、セキュリティが向上します。
実際の開発では、このような問題が発生した場合、開発場所が固定されていないことがよくあります。 , そのため、データベース構成を頻繁に変更することになり、開発作業に支障をきたします。TP はまだこの「災害」を避けていません; laravel フレームワークでは、.env 環境ファイルがこの問題を解決しているように見えますが、設定する必要があるのは、 .env ファイルは別の作業場所に保存され、git であっても svn であっても「.env はファイルと一緒にサーバーに送信されない」ため、再度設定する必要はありません。
この記事は、 ThinkPHP フレームワークの技術記事コラム: http://www.php.cn/phpkj/thinkphp/
以上がthinkphpとlaravelの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。