display()" メソッドを使用してテンプレートをレンダリングしますが、Laravel は "return view()" メソッド; 2. Laravel は再ルーティング フレームワークであり、thinkphp は通常のアクセスにコントローラー メソッドを必要とします。"/> display()" メソッドを使用してテンプレートをレンダリングしますが、Laravel は "return view()" メソッド; 2. Laravel は再ルーティング フレームワークであり、thinkphp は通常のアクセスにコントローラー メソッドを必要とします。">
ホームページ >PHPフレームワーク >ThinkPHP >thinkphpとlaravelは同じですか?
php と laravel は違うと考えてください。 thinkphp と laravel はどちらも PHP 開発フレームワークですが、多くの違いがあります: 1. 最後のシフトをレンダリングするメソッドが異なります。Thinkphp はテンプレートのレンダリングに "$this->display()" メソッドを使用しますが、Laravel は " return view()" メソッド。 ; 2. Laravel は再ルーティング フレームワークであり、thinkphp は通常のアクセスにコントローラー メソッドを必要とします。
この記事の動作環境: Windows 10 システム、ThinkPHP5&&Laravel8 バージョン、Dell G3 コンピューター。
Thinkphp は laravel とは異なります
ThinkPHP は無料でオープンソースで、高速、シンプル、オブジェクト指向であり、 light 大規模な PHP 開発フレームワークである ThinkPHP は、Windows/Unix/Linux などのサーバー環境をサポートできます。正式バージョンには PHP5.0 以降が必要で、MySql、PgSQL、Sqlite データベースおよび PDO 拡張機能をサポートしています。ThinkPHP フレームワーク自体には特別なモジュール要件はありません特定のアプリケーション システムの動作環境要件は、開発に関与するモジュールによって異なります。
Laravel は、Taylor Otwell によって作成された無料のオープンソース PHP Web フレームワークで、Web ソフトウェアの MVC アーキテクチャを実装し、CodeIgniter の代替として機能するように設計されています。ソースコードは GitHub でホストされており、ライセンス条項は MIT ライセンスです。 Laravel の機能には、ユーザー認証と権限のサポート、独自のパッケージ ライブラリを備えたモジュラー パッケージ システム、さまざまなタイプのリレーショナル データベースへの接続方法の提供、アプリケーションのデプロイメントとメンテナンスを支援するツールの提供、および大量の構文糖衣の開発が含まれます。
主な違い: (中国のコーディング習慣には PHP の方が適していると考えてください):
1. レンダリング テンプレート メソッドの違い:
Laravel フレームワーク内、 return view() を使用してテンプレートをレンダリングします;
そして、ThinkPHP は $this->display() を使用してテンプレートをレンダリングします;
2. Laravel フレームワークでは、その考慮事項により、クロスサイト リクエスト フォージェリなので、post メソッドで値を渡すためにフォーム フォームを使用する場合、フォーム フォームに {{csrf_field()}} を追加しないと、TokenMethodnotfound の構文エラーが報告されます;
And 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 はユーザー名の検証など、多数の組み込み検証メソッド: validate メソッドで 'username'=>'required' (空にすることはできません) を使用します)|alpha_dash (数字、文字、下線が必要)|次の間: 6,18 (間の桁数)、メール、同じ: フィールド名、差分: フィールド名などの多数のメソッドも組み込まれており、開発速度が大幅に向上します。 #暗号化方式 TP フレームワークでは、ユーザー名とパスワードを暗号化するときに md5(); を使用しますが、md5 の欠点は、逆にされて解読される可能性があり、同じルールの下で同じパスワード md5 を使用すると、暗号化された文字列が表示される場合があります。同じため、セキュリティが低下します;
ただし、「ハッシュ」ハッシュ暗号化の一方向暗号化メソッドが Laravel フレームワークに組み込まれており、同じパラメータが暗号化されます。セキュリティの向上;
実際の開発では、開発場所が固定されず、頻繁に変更が必要になる、データベース構成が開発作業に支障をきたす、といった問題がよく発生します。この「災害」は回避されました。laravel フレームワークでは、.env 環境ファイルの登場により、この問題は解決されました。別の作業場所に .env ファイルを設定するだけで済みます。git であっても svn ".env は、ファイルと一緒にサーバーに送信しないでください。」
推奨学習: 「
PHP ビデオ チュートリアル以上がthinkphpとlaravelは同じですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。