前提
- laravel初学者、触ったことない人が投稿しています
- 誤っている箇所等があればコメントでご指摘いただけると幸いです
Laravelについて
- PHPで書かれたオープンソースのWebアプリケーションフレームワーク
- 開発者にとって使いやすい構造と豊富な機能を備え、特にWebアプリケーションやAPIの開発を効率化するために設計されている
主な特徴
- MVCアーキテクチャ
- Model-View-Controller(MVC)アーキテクチャを採用しており、ビジネスロジック(Model)、ユーザーインターフェース(View)、アプリケーションの制御(Controller)を分けて管理し、コードが整理されやすく、保守性が向上する
- 豊富な機能
- ルーティング:URLとコントローラーメソッドを簡単に結びつける
- ORM(Eloquent):データベース操作をオブジェクト指向で行える
- Bladeテンプレートエンジン:独自のテンプレートエンジン「Blade」で、HTMLとPHPの混在コードをシンプルに管理する
- 認証・認可機能:ユーザー認証やアクセス制御を容易にする機能
- タスクスケジューラ:バックグラウンドジョブや自動化タスクの管理をサポート
- 豊富な公式ドキュメントとコミュニティ
- Laravelの公式ドキュメントは充実し、コミュニティも非常に活発
- オンラインリソースやプラグイン、ライブラリが豊富で、開発に役立つ情報が簡単に見つかる
- テスト機能の充実
- PHPUnitをベースにしたテスト機能が標準であり、ユニットテストや統合テストが簡単に行える
- 柔軟な設定と拡張性
- 拡張性が高く、サービスプロバイダを用いたモジュール式の設計が特徴
- 設定ファイルが分かりやすく整理されており、アプリケーションの設定を柔軟に行える
基本的な仕組み
- ルーティング
- URLパターンに対応する処理を定義
Route::get('/hello-world', function () { return view('hello world'); }); #引数を指定する場合 Route::get('/hello-world', function () { return view('hello world',['name' => 'taro yamada', 'course' => 'Laravel']); });
- URLパターンに対応する処理を定義
- ビュー
- Bladeテンプレートエンジン
-
resources/views
フォルダにBlade
テンプレート(.blade.php
ファイル)を配置して、HTMLとPHPを組み合わせる
<h1>Hello, {{ $name }}</h1>
-
- Bladeテンプレートエンジン
- コントローラー
- ビジネスロジックを整理するための場所
-
php artisan make:controller SampleController
コマンドでコントローラを作成 - ルートやビューと連携させます
class SampleController extends Controller { public function index() { return view('sample'); } }
実際に実装してみよう
- 完了したら記載します