ホームページ >ウェブフロントエンド >フロントエンドQ&A >thinkphpとlaravelの違いは何ですか

thinkphpとlaravelの違いは何ですか

青灯夜游
青灯夜游オリジナル
2021-09-17 14:59:016660ブラウズ

違い: 1. Laravel は「return view()」を使用してテンプレートをレンダリングしますが、ThinkPHP は「$this->display()」を使用してテンプレートをレンダリングします。 2. postで値を渡す際の注意点が異なります。 3. 条件判定文の書き方の違い。 4. さまざまな暗号化方式。 5. テーブルの作成方法が異なります。

thinkphpとlaravelの違いは何ですか

このチュートリアルの動作環境: 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 サイトの他の関連記事を参照してください。

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