ホームページ >バックエンド開発 >PHPチュートリアル >Laravelフレームワークをphp言語で詳しく解説

Laravelフレームワークをphp言語で詳しく解説

墨辰丷
墨辰丷オリジナル
2018-05-17 10:42:201842ブラウズ

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

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

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

モジュール性とスケーラビリティ

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

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

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

get('/', function() {return view('lumen');});$app->post('framework/{id}', function($framework) {$this->dispatch(new Energy($framework));});

HTTPパス

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

Route::get('/', function () {return 'Hello World';});

HTTPミドルウェア

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

input(&#39;age&#39;) <= 200) {return redirect(&#39;home&#39;);}return $next($request);}

キャッシュ

アプリには、アプリの読み込みを高速化するように調整できる堅牢なキャッシュ システムが組み込まれており、ユーザーに最高の使用エクスペリエンスを提供します。

Cache::extend(&#39;mongo&#39;, function($app) {return Cache::repository(new MongoStore);});

認証

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

if (Auth::attempt([&#39;email&#39; => $email, &#39;password&#39; => $password, &#39;active&#39; => 1 ], $remember)) {// The user is being remembered...}

型統合

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

$user = User::find(1);$user->subscription(&#39;monthly&#39;)->create($creditCardToken);

タスク自動化

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

elixir(function(mix) {mix.browserify(&#39;main.js&#39;);});

暗号化

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

use Illuminate\Contracts\Encryption\DecryptException;try {$decrypted = Crypt::decrypt($encryptedValue);} catch (DecryptException $e) {//}

イベント処理

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

protected $listen = [&#39;App\Events\PodcastWasPurchased&#39; => [&#39;App\Listeners\EmailPurchaseConfirmation&#39;,],];

ページネーション

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

paginate(15);return view(&#39;user.index&#39;, [&#39;users&#39; => $users]);}}

オブジェクトリレーショナルグラフ(ORM)

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

$users = User::where(&#39;votes&#39;, &#39;>&#39;, 100)->take(10)->get();foreach ($users as $user) {var_dump($user->name);}

単体テスト

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

$users = User::where(&#39;votes&#39;, &#39;>&#39;, 100)->take(10)->get();foreach ($users as $user) {var_dump($user->name);}

TO DOリスト

Laravel提供在后台使用待办事项清单(to do list)处理复杂、漫长流程的选择。它可以让我们异步处理某些流程而不需要用户的持续导航。

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

为什么使用laravel。

PHP框架有许多,也有不同的优势。其实为“U图床”这个简单到不能再简单的app搭一个后台,更本就没有用框架的需求,纯粹是为了学习学习。公司项目有用laravel,有现成的使用代码在那里,我决定看代码+看文档+实践的学习速度比看一些视频教程来的快,而且我觉得看懂laravel,再回过头来学习TP,可能很快就能掌握了。

相关推荐:

ThinkPHP框架让页面重定向方法总结

ThinkPHP框架中使用Memcached缓存数据的方法

ThinkPHP框架基于PDO方式连接数据库操作示例

以上がLaravelフレームワークをphp言語で詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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