ホームページ >ウェブフロントエンド >フロントエンドQ&A >thinkphpとlaravelの違いは何ですか
違い: 1. Laravel は「return view()」を使用してテンプレートをレンダリングしますが、ThinkPHP は「$this->display()」を使用してテンプレートをレンダリングします。 2. postで値を渡す際の注意点が異なります。 3. 条件判定文の書き方の違い。 4. さまざまな暗号化方式。 5. テーブルの作成方法が異なります。
このチュートリアルの動作環境: Windows 7 システム、Laravel 6 バージョン、Dell G3 コンピューター。
主な違い: (中国のコーディング習慣には PHP の方が適していると考えてください)
1. レンダリング テンプレート メソッドの違い
Laravel フレームワークでは、return view() を使用してテンプレートをレンダリングしますが、ThinkPHP では、$this->display() メソッドを使用してテンプレートをレンダリングします。
2. postで値を渡す際の注意点の違い
Laravelフレームワークでは、クロスサイト攻撃を考慮しているため、 form フォームを使用して post, value に値を渡します。{{csrf_field()}} がフォームに追加されていない場合、TokenMethodnotfound 構文エラーが報告され、クロスサイト攻撃を防ぐために TP フレームワークは手動でコードを完成させる必要があります。 。
3. 条件判定文の書き方の違い
Laravel フレームワークにおける If else 判定文と foreach 文は @if で始まり @endif で終わる必要があります。そうでない場合は、構文エラーが報告されます、@foreach @endforeach は同じです;
TP フレームワークは PHP 構文規則と同じ方法で使用され、if esle ステートメントは判断と foreach に直接使用されます。ループトラバーサル。
4. 暗号化方法
TP フレームワークでは、md5(); を使用してユーザー名とパスワードを暗号化します。ただし、md5 の欠点は、逆に解読される可能性があり、同じルールの下では、同じパスワードに対して md5 によって暗号化された文字列が同じに見える可能性があるため、セキュリティが低下する可能性があることです。ただし、Laravelフレームワークにはハッシュ暗号化の一方向暗号化方式が組み込まれており、同じパラメータで暗号化された文字列が同じ状況に現れることがないため、セキュリティが向上します。
5. テーブルの作成
Laravel にはデータベース テーブル作成用の独自の独立した組み込み構造があり、ネイティブ SQL ステートメントや SQLyogEnt、Navicat に頼ることなくテーブルを作成できます。ツールは、データベースの確立、追加、削除、変更、およびデータのやり取りに使用されます。 ThinkPHP では、SQL ステートメントやテーブル作成ツールを使用して、徐々にデータを改善する必要があります。
5.1. まずモデルを構築する必要があります: 私は gitbash を使用します。 Gitbash は Windows 上のコマンド ツールであり、msys GNU 環境をベースとして、git 分散バージョン管理ツールを備えており、主に git で使用されます。ただし、これを Laravel で直接使用することもできます: php 職人 make:model Models/GoodsModel -m を使用して、モデルの作成とテーブル構造 (/database/migrations) の作成を完了します。
5.2. 商品データテーブルにデータを入力します。データの種類は厳密に区別されており、追加する必要があることに注意してください。追加後、phpArtisan Migrateコマンドを使用してテーブルの作成を完了します。
Schema::create(‘goods', function (Blueprint $table) { $table->increments(‘id')->comment(‘商品主键'); $table->string(‘title')->comment(‘商品的标题');
8.3. フィールドが要件を満たしていない場合、またはフィールドを追加する必要がある場合はどうすればよいですか?心配する必要はありません。github からプロジェクトを取得した後、データ テーブルで直接変更できます。使用する必要があるのは
php artisan migrate:refresh
6 だけです。Laravel は再ルーティング フレームワーク (5.4)すべての関数は Initiated by routing によって提供されており、コントローラー メソッドがなくても、ルートを記述すればアクセスできます。ThinkPHP (3.2) には、通常のアクセスのためにコントローラー メソッドが必要です。 ##7. Laravel には強力なコミュニティ拡張機能があります (コンポーザー拡張機能は自動的に読み込まれます);
#9. Laravel には強力な Blade テンプレート エンジンがあります;
#9. リクエストとリターン、権限認証などのアクセス前後の処理を実現できるミドルウェア、Laravel の機能;
関連する推奨事項:最新の 5 つの Laravel ビデオチュートリアル
以上がthinkphpとlaravelの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。