ホームページ PHPフレームワーク Laravel laravelとthinkphpの違いは何ですか

laravelとthinkphpの違いは何ですか

Nov 11, 2019 am 10:56 AM
laravel thinkphp 違い

laravelとthinkphpの違いは何ですか

1. テンプレートをレンダリングするさまざまな方法

Laravel フレームワークでは、return view() を使用してテンプレートをレンダリングします。 ;ThinkPHP は、$this->display() メソッドを使用してテンプレートをレンダリングします。

2. 実際の開発では、開発場所が固定されていないという問題がよく発生します。

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

3. Laravel フレームワークは多数のクロージャを提供します

初心者として、私は現在 use メソッド、つまり外部変数を内部で使用する方法のみを使用しています。関数。

4. ポストで値を渡す際の注意点の違い

Laravel フレームワークでは、クロスサイト攻撃を考慮しているため、ポストモードで値を渡すフォームフォーム、値、{{csrf_field()}} がフォームに追加されていない場合、TokenMethodnotfound 構文エラーが報告され、クロスサイトを防ぐために TP フレームワークはコードを手動で完成させる必要があります攻撃します。

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

Laravel フレームワークにおける If else 判定文と foreach 文は @if で始まり @endif で終わる必要があります。そうでない場合は、構文エラーが報告され、@foreach @endforeach は同じであり、TP フレームワークは PHP 構文規則と同じ方法で使用され、if esle ステートメントを直接使用して判断し、foreach ループの走査を行います。

6. Laravel には、開発者が使用できる組み込みメソッドが多数あります

実際のアプリケーションでは、「let」という開発アイデアに近いです。バックグラウンドでフォーム検証を実行する場合など、オブジェクトはすべてを実行します。Laravel には多数の組み込み検証メソッドがあります。たとえば、ユーザー名を確認するには、validate メソッドで 'username'=>'required' (空にすることはできません) | alpha_dash (数字、文字、下線が必要) | between: 6,18 (数字の間) を使用できます。また、email; Same: フィールド名; diff: フィールド名などの組み込みメソッドも多数備えており、開発速度が大幅に向上します。

7. 暗号化方法

TP フレームワークでは、md5(); を使用してユーザー名とパスワードを暗号化します。ただし、md5 の欠点は、逆に解読される可能性があり、同じルールの下では、同じパスワードに対して md5 によって暗号化された文字列が同じに見える可能性があるため、セキュリティが低下する可能性があることです。ただし、Laravelフレームワークにはハッシュ暗号化の一方向暗号化方式が組み込まれており、同じパラメータで暗号化された文字列が同じ状況に現れることがないため、セキュリティが向上します。

8. テーブルの作成

Laravel にはデータベース テーブルを作成するための独自の独立した組み込み構造があるため、ネイティブ SQL ステートメントを使用する必要はありません。テーブル構築ツールは、データベースの確立、追加、削除、変更、クエリ、およびデータの対話に使用されます。 ThinkPHP では、SQL ステートメントやテーブル作成ツールを使用して、徐々にデータを改善する必要があります。

8.1. まずモデルを構築する必要があります: 私は gitbash を使用します。 Gitbash は Windows 上のコマンド ツールであり、msys GNU 環境をベースとして、git 分散バージョン管理ツールを備えており、主に git で使用されます。ただし、これを Laravel で直接使用することもできます: php 職人 make:model Models/GoodsModel -m を使用して、モデルの作成とテーブル構造 (/database/migrations) の作成を完了します。

8.2. 商品データテーブルにデータを入力します。データの種類は厳密に区別されており、追加する必要があることに注意してください。追加後、phpArtisan Migrateコマンドを使用してテーブルの作成を完了します。

Schema::create('goods', function (Blueprint $table) {

$table->increments('id')->comment('product Primary key') ;

$table->string('title')->comment('Title of the product');

8.3. フィールドが次の条件を満たしていない場合はどうすればよいですか要件があるのか​​、それとも追加する必要があるのか​​? ? 心配する必要はありません、github からプロジェクトを取得して、データ テーブルで直接変更します。 9、ORM

テーブル作成の導入時にモデルを作成するコマンドが使用されています:

php Artisan make:model XXX;

Laravel のモデルは次のとおりです。オブジェクト指向開発アイデアの最良の解釈。要件を完了するのにオブジェクトを役立てましょう。

5.1 マニュアルからの抜粋: (Laravel の Eloquent ORM は、データベースと対話するための美しく簡潔な ActiveRecord 実装を提供します。各データベーステーブルには、使用できる対応する「モデル」があります。データ テーブルと対話します。モデルを使用して、データ テーブル内のデータを検索し、データ テーブルにレコードを追加できます。)

実際の使用では、また、モデルを作成することでデータをコントロールできることを実感しました 一括代入、​​テーブル間クエリ、モデルの削除やソフトデリート、モデルの関連付けなどのテーブル操作による利便性はもちろん実装可能ですTP フレームワークのモデルを使用します。これは意見の問題であり、個人の好みによって異なります。 .

10. セッションの使用法

10.1. ThinkPHP はセッション操作をカプセル化しており、導入しなくても使用できますセッションの起動はアプリケーションの初期化時に自動的に実行されるため、セッションを開始するために手動で Session::start() を使用する必要はありません。セッション。

Session クラスのオペレーションを使用することと、通常の方法で $_SESSION を呼び出すことの間に本質的な違いはなく、Session クラスの多くのパラメータをプロジェクトの構成に応じて柔軟に設定できるという点だけです。一般的に使用される操作方法:

/ / セッション変数が存在するかどうかを確認します: Session::is_set('name');

// セッション変数に値を割り当てます: Session::set ('name','value');

// セッション変数の取得: Session::get('name');

10.2. Laravel のセッションの一般的なメソッド:

$request->session()->get( 'key');//セッション内のキー名を取得します

$request->session()->set(' key','default');//デフォルト値を設定します。指定されたキー名が存在しない場合、デフォルト値が返されます

$request->session()->all(); //すべてのデータを返す

session('k'=> ;$v);//セッション保存データ

とフラッシュメモリデータを書き込み session()->flash() して保持specific data->keep(['','']);

セッション ドライバーをカスタマイズすることもできます。

php 中国語 Web サイト、無料の laravel 入門チュートリアル が多数あり、オンラインで学習することを歓迎します。

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

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Laravelで電子メールの送信が失敗したときに返品コードを取得する方法は? Laravelで電子メールの送信が失敗したときに返品コードを取得する方法は? Apr 01, 2025 pm 02:45 PM

Laravelの電子メールの送信が失敗したときに戻りコードを取得する方法。 Laravelを使用してアプリケーションを開発する場合、検証コードを送信する必要がある状況に遭遇することがよくあります。そして実際には...

ThinkPhp6ルーティング:中国語などの特殊文字を含むURLパラメーターを完全に取得する方法は? ThinkPhp6ルーティング:中国語などの特殊文字を含むURLパラメーターを完全に取得する方法は? Apr 01, 2025 pm 02:51 PM

ThinkPhp6ルーティングパラメーターは、中国と完全な買収で処理されます。 ThinkPhp6フレームワークでは、特殊文字(中国語や句読点など)を含むURLパラメーターがしばしば処理されます...

マルチスレッドと非同期C#の違い マルチスレッドと非同期C#の違い Apr 03, 2025 pm 02:57 PM

マルチスレッドと非同期の違いは、マルチスレッドが複数のスレッドを同時に実行し、現在のスレッドをブロックせずに非同期に操作を実行することです。マルチスレッドは計算集約型タスクに使用されますが、非同期はユーザーインタラクションに使用されます。マルチスレッドの利点は、コンピューティングのパフォーマンスを改善することですが、非同期の利点はUIスレッドをブロックしないことです。マルチスレッドまたは非同期を選択することは、タスクの性質に依存します。計算集約型タスクマルチスレッド、外部リソースと相互作用し、UIの応答性を非同期に使用する必要があるタスクを使用します。

ThinkPhp6で2つの列のデータの合計を同時に照会する方法は? ThinkPhp6で2つの列のデータの合計を同時に照会する方法は? Apr 01, 2025 pm 02:54 PM

ThinkPhp6データベースクエリ:TP6を使用してSQLステートメントを実装する方法SelectSum(JIN)、Sum(CHU)ThinkPhp6フレームワークでSysdbuil、SQLステートメントの使用方法SELECT ...

C言語合計の機能は何ですか? C言語合計の機能は何ですか? Apr 03, 2025 pm 02:21 PM

C言語に組み込みの合計機能はないため、自分で書く必要があります。合計は、配列を通過して要素を蓄積することで達成できます。ループバージョン:合計は、ループとアレイの長さを使用して計算されます。ポインターバージョン:ポインターを使用してアレイ要素を指し示し、効率的な合計が自己概要ポインターを通じて達成されます。アレイバージョンを動的に割り当てます:[アレイ]を動的に割り当ててメモリを自分で管理し、メモリの漏れを防ぐために割り当てられたメモリが解放されます。

C言語のcharとwchar_tの違い C言語のcharとwchar_tの違い Apr 03, 2025 pm 03:09 PM

C言語では、charとwchar_tの主な違いは文字エンコードです。CharはASCIIを使用するか、ASCIIを拡張し、WCHAR_TはUnicodeを使用します。 Charは1〜2バイトを占め、WCHAR_Tは2〜4バイトを占有します。 charは英語のテキストに適しており、wchar_tは多言語テキストに適しています。 CHARは広くサポートされており、WCHAR_TはコンパイラとオペレーティングシステムがUnicodeをサポートするかどうかに依存します。 CHARの文字範囲は限られており、WCHAR_Tの文字範囲が大きく、特別な機能が算術演算に使用されます。

Laravelデータベースの移行の遭遇重複クラス定義:複製の移行ファイルとクラス名の競合を複製する方法は? Laravelデータベースの移行の遭遇重複クラス定義:複製の移行ファイルとクラス名の競合を複製する方法は? Apr 01, 2025 pm 12:21 PM

Laravelデータベースの移行中にクラス定義を複製する問題が発生します。データベースの移行にLaravelフレームワークを使用する場合、開発者は「クラスが使用されています...

XMLをPDFに変換できるモバイルアプリはありますか? XMLをPDFに変換できるモバイルアプリはありますか? Apr 02, 2025 pm 08:54 PM

XMLをPDFに直接変換するアプリケーションは、2つの根本的に異なる形式であるため、見つかりません。 XMLはデータの保存に使用され、PDFはドキュメントを表示するために使用されます。変換を完了するには、PythonやReportLabなどのプログラミング言語とライブラリを使用して、XMLデータを解析してPDFドキュメントを生成できます。

See all articles