ホームページ > バックエンド開発 > PHPチュートリアル > Laravel が最も成功した PHP フレームワークであるのはなぜですか? _PHP チュートリアル

Laravel が最も成功した PHP フレームワークであるのはなぜですか? _PHP チュートリアル

WBOY
リリース: 2016-07-12 09:07:37
オリジナル
1108 人が閲覧しました

なぜ Laravel が最も成功した PHP フレームワークなのか?

2011 年、Taylor Otwell は、新しく現代的なアプローチを含むフレームワークとして Laravel を皆に紹介しました。 Laravel はもともと MVC アーキテクチャ向けに設計されており、イベント処理やユーザー認証などのさまざまなニーズを満たすことができます。さらに、モジュール化された拡張可能なコードを管理するための管理データベースを利用したパッケージ マネージャーも備えています。

Laravel は、そのシンプルさと優雅さで広く注目を集めており、専門家でも初心者でも、PHP プロジェクトを開発するときにすぐに Laravel を思い出すでしょう。この記事では、Laravel が最も成功した PHP フレームワークになった理由について説明します。

モジュール性と拡張性

Laravel はコードのモジュール性とスケーラビリティに重点を置いています。追加したいファイルはすべて、5500 を超えるパッケージを含む Packalyst ディレクトリで見つけることができます。 Laravel の目標は、必要なファイルを見つけられるようにすることです。

マイクロサービスとプログラミングインターフェイス

Lumen は、合理化に焦点を当てた、laravel から派生したマイクロフレームワークです。高性能プログラミング インターフェイスにより、マイクロ プロジェクトをより簡単かつ迅速に開発できます。 Lumen は、laravel のすべての重要な機能を最小限の構成で統合します。コードを laravel プロジェクトにコピーすることで、完全なフレームワークを移行できます。

1

2

3

4

5

6

7

8

9

10

11

<?php $app->get('/', function() {

 

   return view('lumen');

 

});

 

$app->post('framework/{id}', function($framework) {

 

   $this->dispatch(new Energy($framework));

 

});

HTTPパス

Laravel には、Ruby on Rails に似た高速で効率的なルーティング システムがあります。これにより、ユーザーはブラウザにパスを入力することでアプリケーションの各部分を関連付けることができます。

1

2

3

4

5

Route::get('/', function () {

 

   return 'Hello World';

 

});

HTTPミドルウェア

アプリケーションはミドルウェアによって保護できます - ミドルウェアはサーバー上の HTTP リクエストの分析とフィルタリングを処理します。ミドルウェアをインストールして登録ユーザーを認証し、クロスサイト スクリプティング (XSS) やその他のセキュリティ条件などの問題を回避できます。

1

2

3

4

5

6

7

8

9

10

11

<?php namespace AppHttpMiddleware; use Closure; class OldMiddleware { public function handle($request, Closure $next) { if ($request->input('age') <= 200) {

return redirect('home');

}

return $next($request);

}

}}

キャッシング

アプリケーションは堅牢なキャッシュ システムを調整することで、アプリケーションの読み込みを高速化し、ユーザーに最高のエクスペリエンスを提供できます。

1

2

3

4

5

Cache::extend('mongo', function($app) {

return Cache::repository(new MongoStore);

});

認証

安全は最も重要です。 Laravelにはローカルユーザー認証が付属しており、「記憶」オプションを使用してユーザーを記憶できます。また、ユーザーがアクティブかどうかの表示など、いくつかの追加パラメータを設定することもできます。

1

2

3

4

5

if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1 ], $remember)) {

 

   // The user is being remembered...

 

}

型統合

Laravel Cashier は、支払いシステムを開発するために必要なすべてのニーズを満たすことができます。これに加えて、ユーザー認証システムの同期と統合も行います。そのため、課金システムを開発に統合することについて心配する必要はもうありません。

1

2

3

$user = User::find(1);

 

$user->subscription('monthly')->create($creditCardToken);

タスク自動化

Elixir は、Gulp を使用してタスクを定義できるようにする Laravel プログラム インターフェイスです。Elixir を使用して、CSS と JavaScript を合理化できるプリプロセッサを定義できます。

1

2

3

4

5

elixir(function(mix) {

 

   mix.browserify('main.js');

 

 });});

暗号化

安全なアプリケーションはデータを暗号化できる必要があります。 Laravel を使用すると、OpenSSL セキュリティ暗号化アルゴリズム AES-256-CBC を有効にして、すべてのニーズを満たすことができます。さらに、すべての暗号化された値は、暗号化された情報が変更されたかどうかを検出する検証コードによって署名されます。

1

2

3

4

5

6

7

8

9

10

11

use IlluminateContractsEncryptionDecryptException;

 

try {

 

   $decrypted = Crypt::decrypt($encryptedValue);

 

} catch (DecryptException $e) {

 

   //

 

}

イベント処理

イベントはアプリ内で非常に迅速に定義、記録、リッスンされます。 EventServiceProvider イベントの listen には、アプリケーションに記録されたすべてのイベントのリストが含まれています。

1

2

3

4

5

6

7

8

9

protected $listen = [

 

    'AppEventsPodcastWasPurchased' => [

 

       'AppListenersEmailPurchaseConfirmation',

 

    ],

 

 ];];

ページネーション

Laravel でのページネーションは、ユーザーのブラウザの現在のページに基づいて一連のリンクを生成できるため、非常に簡単です。

1

2

3

4

5

6

7

<?php namespace AppHttpControllers; use DB; use AppHttpControllersController; class UserController extends Controller { public function index() { $users = DB::table('users')->paginate(15);

 

      return view('user.index', ['users' => $users]);

 

   }

 

}

オブジェクト関係図ORM)

Laravel にはデータベースを処理するレイヤーが含まれており、そのオブジェクト関係グラフは Eloquent と呼ばれます。さらに、このオブジェクト関係図は PostgreSQL にも当てはまります。

1

2

3

4

5

6

7

$users = User::where('votes', '>', 100)->take(10)->get();

 

 foreach ($users as $user) { foreach ($users as $user) {

 

   var_dump($user->name);

 

 }

🎜

単体テスト

単体テストの開発は時間のかかる作業ですが、アプリケーションが適切に動作し続けることを保証するための鍵となります。 PHPUnit を使用して、Laravel で単体テストを実行できます。

1

2

3

4

5

6

7

8

9

<php use IlluminateFoundationTestingWithoutMiddleware; use IlluminateFoundationTestingDatabaseTransactions; class ExampleTest extends TestCase { public function testBasicExample() { $this->visit('/')

 

                 ->see('Laravel 5')

 

                 ->dontSee('Rails');

 

      }

 

   }

やることリスト

Laravel は、複雑で時間のかかるプロセスを処理するために、バックグラウンドで ToDo リストを使用するオプションを提供します。これにより、ユーザーによる継続的なナビゲーションを必要とせずに、特定のプロセスを非同期で処理できるようになります。

1

Queue :: push ( new  SendEmail ( $ message ));



www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1059860.html技術記事なぜ Laravel が最も成功した PHP フレームワークになったのでしょうか? 2011 年、Taylor Otwell は、新しい現代的なアプローチを含むフレームワークとして Laravel を紹介しました。 Laravel はもともと...
のために設計されました
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート