ホームページ  >  記事  >  バックエンド開発  >  PHP開発フレームワーク:Laravel

PHP開発フレームワーク:Laravel

WBOY
WBOYオリジナル
2016-07-25 09:12:30870ブラウズ

Laravel は、シンプルでエレガントな PHP Web 開発フレームワーク (PHP Web フレームワーク) です。ヌードルのような乱雑なコードから解放され、完璧なネットワーク APP を構築するのに役立ち、コードの各行が簡潔で表現力豊かになります。

特徴

1. 文法がより表現力豊かになります

次のコード行の「true」が何を意味するか知っていますか?

$uri = Uri::create(‘some/uri’, array(), array(), true);

また、ここでの他のパラメーター (最初のパラメーターを除く) が何を意味するか知っていますか?もちろんあなたは知りません。このコード行には表現力がないからです。

このコードをもう一度見てください:

$url = URL::to_secure(‘some/uri’);

この式は、HTTPS プロトコルを使用して URL リンクを作成します。実際、上記の 2 つの記述方法は同じことを行っていますが、どちらがより明確で表現力が高いでしょうか。

2. 高品質のドキュメント

CodeIgniter が非常に人気がある理由の 1 つは、優れたドキュメントがあることです。これはプログラマにとって非常に便利です。それに比べて、Kohana は CI よりも技術的に優れたフレームワークですが、どうでしょうか? Kohana のドキュメントが本当にひどいため、Kohana のテクノロジーがどれほど強力であるかについては誰も気にしません。そして、Laravel には素晴らしいコミュニティサポートがあります。 Laravel コード自体の表現力と優れたドキュメントにより、PHP プログラミングが楽しくなります。

3. 豊富な拡張パック

Bundle は Laravel の拡張パッケージの名前です。完全な ORM のような大きなものから、デバッグ ツールのような小さなものまで、何でも構いません。あるいは、コピーして貼り付けるだけで拡張機能をインストールできます。 Laravel の拡張パックは世界中の開発者によって提供されており、常に拡張パックが追加されています。

4. オープンソースであり、GITHUB でホストされています

Laravel は完全にオープンソースです。すべてのコードは Github で入手できますので、ぜひ貢献してください。

技術的特徴

1. Bundle は、Laravel の拡張パッケージの組織形態または名前です。 Laravel の拡張機能パッケージ リポジトリは非常に成熟しており、拡張機能パッケージ (バンドル) をアプリケーションに簡単にインストールできます。拡張パッケージ (バンドル) をダウンロードしてバンドル ディレクトリにコピーするか、コマンド ライン ツール「Artisan」を使用して自動的にインストールするかを選択できます。

2. Laravel にはすでに高度な PHP ActiveRecord 実装、Eloquent ORM があります。関係の両側に「制約」を簡単に適用できるため、データを完全に制御し、ActiveRecord の利便性をすべて享受できます。 Eloquent は、Fluent のクエリ ビルダー (クエリ ビルダー) のすべてのメソッドをネイティブにサポートします。

3. アプリケーション ロジックはコントローラーに実装することも、ルート宣言に直接統合することもでき、構文は Sinatra フレームワークに似ています。 Laravel の設計哲学は、開発者に最大限の柔軟性を提供し、非常に小さな Web サイトを作成したり、大規模なエンタープライズ アプリケーションを構築したりできるようにすることです。

4. 逆ルーティングを使用すると、ルート名を通じてリンク (URI) を作成できます。ルート名を使用するだけで、Laravel が正しい URI を自動的に作成します。こうすることで、いつでもルートを変更でき、Laravel がすべての関連リンクを自動的に更新します。

5. Restful コントローラーは、GET リクエスト ロジックと POST リクエスト ロジックを区別するためのオプションの方法です。たとえば、ユーザー ログイン ロジックでは、ログイン ページを取得するサービスを処理する get_login() アクションを宣言し、フォームから POST されたデータを検証する post_login() アクションも宣言します。検証後、決定が行われます。ログイン ページまたはコンソールにリダイレクトされるようになります。

6. クラスの自動ロードにより、将来的には、自動ロード設定テーブルと不要なコンポーネントのロードを維持する必要がなくなります。ライブラリやモデルをロードしたい場合は、それをすぐに使用するだけで、Laravel が必要なファイルを自動的にロードします。

7. ビュー コンポーザーは本質的に、ビューがロードされるときに自動的に実行されるコードです。最良の例は、ブログ側のランダムな記事の推奨です。「ビュー アセンブラ」には、ランダムな記事の推奨をロードするためのロジックが含まれています。この方法では、コンテンツ領域のビューをロードするだけで済みます。その他のことは自動的に完了します。

8. リバース コントロール コンテナ (IoC コンテナ) は、新しいオブジェクトを生成し、いつでもオブジェクトをインスタンス化し、シングルトン オブジェクトにアクセスする便利な方法を提供します。逆制御 (IoC) は、外部ライブラリ (ライブラリ) をロードする必要がほとんどなく、コード内のどこからでもこれらのオブジェクトにアクセスでき、複雑で冗長なコード構造に耐える必要がないことを意味します。

9. Migrations はバージョン管理ツールに似ていますが、データベース パラダイムを管理し、Laravel に直接統合されます。 「Artisan」コマンド ライン ツールを使用して、「移行」命令を生成および実行できます。チーム メンバーがデータベース パラダイムを変更した場合、バージョン管理ツールを使用して現在のプロジェクトを簡単に更新し、「移行」コマンドを実行できます。データベースはすでに最新の状態になっています。

10. 単体テストは Laravel の非常に重要な部分です。 Laravel 自体には、変更が他の部分の機能に影響を与えないことを保証するために何百ものテスト ケースが含まれています。これが、Laravel が業界で最も安定したバージョンであると考えられる理由の 1 つです。 Laravel には、独自のコードの単体テストを簡単に行うための便利な機能も用意されています。すべてのテスト ケースは、Artisan コマンド ライン ツールを通じて実行できます。

11. 自動ページネーション機能により、大量の無関係なページング構成コードがビジネス ロジックに混入することが回避されます。便利なのは、現在のページを覚えておく必要がなく、データベースからエントリの総数を取得し、limit/offset を使用して選択したデータを取得し、最後に 'paginate' メソッドを呼び出して Laravel に出力させることです。各ページを指定されたビュー (View) にリンクすると、Laravel がすべての作業を自動的に完了します。 Laravel の自動ページング システムは、実装と変更が簡単になるように設計されています。 Laravel はこれらのタスクを自動的に処理できますが、対応するメソッドを呼び出してページング システムを手動で設定することを忘れないでください。

プロジェクトのホームページ: http://www.open-open.com/lib/view/home/1393898144240



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